Index: branches/simtest_nebulous_branches/ippconfig/Makefile.am
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/Makefile.am	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/Makefile.am	(revision 27840)
@@ -10,4 +10,5 @@
 	simtest \
 	vysos5 \
+	vysos20 \
 	tc3 \
 	skycell \
Index: branches/simtest_nebulous_branches/ippconfig/cfh12k/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/cfh12k/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/cfh12k/camera.config	(revision 27840)
@@ -122,4 +122,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD  STR {CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/cfh12k/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/cfh12k/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/cfh12k/psphot.config	(revision 27840)
@@ -1,36 +1,10 @@
 
 # turn these on to see specific outputs
-SAVE.OUTPUT	BOOL 	TRUE
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
 SAVE.PLOTS	BOOL 	TRUE
-
-BACKGROUND.XBIN	    S32   128           # size of background superpixels
-BACKGROUND.YBIN	    S32   128           # size of background superpixels
-
-# image background parameters
-IMSTATS_NPIX        S32  10000    	 # number of pixels to use for sky estimate boxes:
-
-PSF_SN_LIM          F32  50              # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
-
-PEAKS_NSIGMA_LIMIT     F32   25.0            # peak significance threshold
-PEAKS_NSIGMA_LIMIT_2   F32   10.0            # peak significance threshold
 
 # PSF model parameters : choose the PSF model desired
 PSF_MODEL           STR  PS_MODEL_QGAUSS
 
-MOMENTS_SN_MIN       F32  20.0           # min S/N to measure moments
-EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-FULL_FIT_SN_LIM      F32  50.0
-AP_MIN_SN            F32  25.0
-MEASURE.APTREND	                    BOOL  FALSE
-
-# BREAK_POINT may be one of (PEAKS, MOMENTS, PSFMODEL, ENSEMBLE)
-# BREAK_POINT         STR ENSEMBLE
-
-OUTPUT.FORMAT       STR PS1_DEV_1
-
-# masking parameters (XXX EAM : rework this to use psRegion like ANALYSIS_REGION)
+# XXX are these needed?
 XMIN                F32   +10        	 # minimum valid x-coord
 XMAX                F32   -10        	 # maximum valid x-coord
@@ -38,3 +12,2 @@
 YMAX                F32   -10        	 # maximum valid y-coord
 
-USE_FOOTPRINTS                      BOOL  TRUE       	  # use new pmFootprint peak packaging
Index: branches/simtest_nebulous_branches/ippconfig/configure.ac
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/configure.ac	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/configure.ac	(revision 27840)
@@ -21,4 +21,5 @@
   simtest/Makefile
   vysos5/Makefile
+  vysos20/Makefile
   tc3/Makefile
   skycell/Makefile
Index: branches/simtest_nebulous_branches/ippconfig/dvo.photcodes
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/dvo.photcodes	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/dvo.photcodes	(revision 27840)
@@ -500,4 +500,10 @@
   3500  ISP-Apogee-01.z      dep  17.250  0.000 0.000     -     - 0.0000     0     4   0.000 0.000 0.000  0.000   0x0000 0x0000  0x0000 0x0000	
   3600  ISP-Apogee-01.y      dep  14.150  0.000 0.000     -     - 0.0000     0     5   0.000 0.000 0.000  0.000   0x0000 0x0000  0x0000 0x0000	
+
+  # VYSOS photcodes -- add as needed
+  5002  VYSOS5.r             dep  17.200  0.000 0.000     -     - 0.0000     0     2   0.000 0.000 0.000  0.000   0x0000 0x0000  0x0000 0x0000	
+
+  5022  VYSOS20.r            dep  21.400  0.000 0.000     -     - 0.0000     0     2   0.000 0.000 0.000  0.000   0x0000 0x0000  0x0000 0x0000	
+  5023  VYSOS20.i            dep  20.500  0.000 0.000     -     - 0.0000     0     2   0.000 0.000 0.000  0.000   0x0000 0x0000  0x0000 0x0000	
 
   4100  SIMTEST.g.Chip       dep  25.000  0.000 0.000     -     - 0.0000     0     1   0.000 0.000 0.000  0.000   0x0000 0x0000  0x0000 0x0000	
Index: branches/simtest_nebulous_branches/ippconfig/esowfi/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/esowfi/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/esowfi/camera.config	(revision 27840)
@@ -89,4 +89,5 @@
   CMF.XSRC   STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT   STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD   STR  {CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/esowfi/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/esowfi/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/esowfi/psphot.config	(revision 27840)
@@ -1,30 +1,3 @@
 
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.BACKMDL.STDEV BOOL 	TRUE
-SAVE.BACKGND	BOOL 	TRUE
-SAVE.BACKSUB	BOOL 	TRUE
-SAVE.PLOTS      BOOL    FALSE
-SAVE.RESID	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
-LOAD.PSF	BOOL 	FALSE
-
-IMSTATS_NPIX        S32  3000    	 # number of pixels to use for sky estimate boxes:
-
-#PSPHOT_TEST METADATA
-# SAVE.BACKSUB	BOOL 	FALSE
-# SAVE.RESID	BOOL 	TRUE
-#END
-#
-#PEAKS_OUTPUT_FILE   STR  peaks.dat
-#MOMENTS_OUTPUT_FILE STR  moments.dat
-
-#PSF_SN_LIM          F32  20.0            # minimum S/N for stars used for PSF model
-MOMENTS_SN_MIN      F32  20.0            # min S/N to measure moments
-FULL_FIT_SN_LIM     F32  100.0
-EXT_MIN_SN          F32  100.0           # fit galaxies above this S/N limit
-
-PEAKS_NSIGMA_LIMIT  F32  10.0 	   	 # peak significance threshold
-BREAK_POINT         STR  ENSEMBLE        # limit total processing for now (for speed)
-
-
-SKY_STAT            STR  ROBUST_MEDIAN   # statistic used to measure background
+# choose the PSF model
+PSF_MODEL                           STR   PS_MODEL_QGAUSS
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/Makefile.am
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/Makefile.am	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/Makefile.am	(revision 27840)
@@ -12,4 +12,5 @@
 	format_20090120.config \
 	format_20090220.config \
+	format_20100122.config \
 	format_mef.config \
 	format_relphot.config \
@@ -17,8 +18,8 @@
 	ppImage.config \
         ppMerge.config \
+	ppStack.config \
 	psphot.config \
 	psastro.config \
         pswarp.config \
-	ppStack.config \
 	rejections.config
 
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/camera.config	(revision 27840)
@@ -5,4 +5,5 @@
 	MEF		STR	gpc1/format_mef.config
 	RELPHOT		STR	gpc1/format_relphot.config
+	RAW_20100122	STR	gpc1/format_20100122.config
 	RAW_20090220	STR	gpc1/format_20090220.config
 	RAW_20090120	STR	gpc1/format_20090120.config
@@ -118,4 +119,5 @@
 	PSWARP		STR	gpc1/pswarp.config
 	REJECTIONS      STR     gpc1/rejections.config       # rejection recipe
+	PPSTACK		STR	gpc1/ppStack.config
 END
 
@@ -132,4 +134,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD  STR	{CHIP.NAME}.hdr
@@ -146,2 +149,4 @@
 
 PHOTCODE.RULE           STR     {DETECTOR}.{FILTER.ID}.{CHIP.NAME}	# Rule for generating photcode
+
+BURNTOOL.STATE.GOOD     S16     14  # Value for burntool_state with the most recent bt version.
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/dvo.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/dvo.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/dvo.config	(revision 27840)
@@ -1,5 +1,4 @@
 
 # location of DVO database tables
-CATDIR			/data/alala.0/eugene/isp/catdir
 MOSAICNAME              GPC1
 
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/format_20080925.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/format_20080925.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/format_20080925.config	(revision 27840)
@@ -32,5 +32,5 @@
         PHU             STR     CHIP       # The FITS file represents a single chip
         EXTENSIONS      STR     CELL       # The extensions represent cells
-        FPA.OBS         STR     CONTROLR   # A PHU keyword for unique identifier within the hierarchy level
+        FPA.OBS         STR     FILENAME   # A PHU keyword for unique identifier within the hierarchy level
         CONTENT         STR     DETECTOR   # How to determine content of FITS file
         CONTENT.RULE    STR     {CHIP.ID}  # How to derive the CONTENT when writing
@@ -222,4 +222,6 @@
         FPA.TELTEMP.TRUSS  STR  TELTEMTR # Mid truss temperatures (C
         FPA.TELTEMP.EXTRA  STR  TELTEMEX # Miscellaneous temperatures (C)     
+
+        FPA.BURNTOOL.APPLIED STR BTOOLAPP
 
         FPA.PON.TIME    STR     PONTIME
@@ -572,5 +574,5 @@
         CELL.READNOISE  F32     15.0
         CELL.READDIR    S32     1
-        CELL.BAD        S32     -100
+        CELL.BAD        S32     0
 	CELL.XSIZE	S32	590
 	CELL.YSIZE	S32	598
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/format_20080929.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/format_20080929.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/format_20080929.config	(revision 27840)
@@ -27,5 +27,5 @@
         PHU             STR     CHIP       # The FITS file represents a single chip
         EXTENSIONS      STR     CELL       # The extensions represent cells
-        FPA.OBS         STR     CONTROLR   # A PHU keyword for unique identifier within the hierarchy level
+        FPA.OBS         STR     FILENAME   # A PHU keyword for unique identifier within the hierarchy level
         CONTENT         STR     DETECTOR   # How to determine content of FITS file
         CONTENT.RULE    STR     {CHIP.ID}  # How to derive the CONTENT when writing
@@ -217,4 +217,6 @@
         FPA.TELTEMP.TRUSS  STR  TELTEMTR # Mid truss temperatures (C
         FPA.TELTEMP.EXTRA  STR  TELTEMEX # Miscellaneous temperatures (C)     
+
+        FPA.BURNTOOL.APPLIED STR BTOOLAPP
 
         FPA.PON.TIME    STR     PONTIME
@@ -567,5 +569,5 @@
         CELL.READNOISE  F32     15.0
         CELL.READDIR    S32     1
-        CELL.BAD        S32     -100
+        CELL.BAD        S32     0
 	CELL.XSIZE	S32	590
 	CELL.YSIZE	S32	598
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/format_20081011.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/format_20081011.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/format_20081011.config	(revision 27840)
@@ -17,5 +17,5 @@
         PHU             STR     CHIP       # The FITS file represents a single chip
         EXTENSIONS      STR     CELL       # The extensions represent cells
-        FPA.OBS         STR     CONTROLR   # A PHU keyword for unique identifier within the hierarchy level
+        FPA.OBS         STR     FILENAME   # A PHU keyword for unique identifier within the hierarchy level
         CONTENT         STR     DETECTOR   # How to determine content of FITS file
         CONTENT.RULE    STR     {CHIP.ID}  # How to derive the CONTENT when writing
@@ -208,4 +208,6 @@
         FPA.TELTEMP.TRUSS  STR  TELTEMTR # Mid truss temperatures (C
         FPA.TELTEMP.EXTRA  STR  TELTEMEX # Miscellaneous temperatures (C)     
+
+        FPA.BURNTOOL.APPLIED STR BTOOLAPP
 
         FPA.PON.TIME    STR     PONTIME
@@ -559,5 +561,5 @@
         END
         CELL.READDIR    S32     1
-        CELL.BAD        S32     -100
+        CELL.BAD        S32     0
 	CELL.XSIZE	S32	590
 	CELL.YSIZE	S32	598
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/format_20090120.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/format_20090120.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/format_20090120.config	(revision 27840)
@@ -16,5 +16,5 @@
         PHU             STR     CHIP       # The FITS file represents a single chip
         EXTENSIONS      STR     CELL       # The extensions represent cells
-        FPA.OBS         STR     CONTROLR   # A PHU keyword for unique identifier within the hierarchy level
+        FPA.OBS         STR     FILENAME   # A PHU keyword for unique identifier within the hierarchy level
         CONTENT         STR     DETECTOR   # How to determine content of FITS file
         CONTENT.RULE    STR     {CHIP.ID}  # How to derive the CONTENT when writing
@@ -207,4 +207,6 @@
         FPA.TELTEMP.TRUSS  STR  TELTEMTR # Mid truss temperatures (C
         FPA.TELTEMP.EXTRA  STR  TELTEMEX # Miscellaneous temperatures (C)     
+
+        FPA.BURNTOOL.APPLIED STR BTOOLAPP
 
         FPA.PON.TIME    STR     PONTIME
@@ -493,5 +495,5 @@
         END
         CELL.READDIR    S32     1
-        CELL.BAD        S32     -100
+        CELL.BAD        S32     0
 	CELL.XSIZE	S32	590
 	CELL.YSIZE	S32	598
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/format_20090220.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/format_20090220.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/format_20090220.config	(revision 27840)
@@ -16,5 +16,5 @@
         PHU             STR     CHIP       # The FITS file represents a single chip
         EXTENSIONS      STR     CELL       # The extensions represent cells
-        FPA.OBS         STR     CONTROLR   # A PHU keyword for unique identifier within the hierarchy level
+        FPA.OBS         STR     FILENAME   # A PHU keyword for unique identifier within the hierarchy level
         CONTENT         STR     DETECTOR   # How to determine content of FITS file
         CONTENT.RULE    STR     {CHIP.ID}  # How to derive the CONTENT when writing
@@ -185,5 +185,5 @@
         FPA.ALT         STR     ALT
         FPA.AZ          STR     AZ
-        FPA.TEMP        STR     DETTEM
+        # FPA.TEMP        STR     DETTEM
         FPA.M1X         STR     M1X
         FPA.M1Y         STR     M1Y   
@@ -207,4 +207,6 @@
         FPA.TELTEMP.TRUSS  STR  TELTEMTR # Mid truss temperatures (C
         FPA.TELTEMP.EXTRA  STR  TELTEMEX # Miscellaneous temperatures (C)     
+
+        FPA.BURNTOOL.APPLIED STR BTOOLAPP
 
         FPA.PON.TIME    STR     PONTIME
@@ -493,5 +495,5 @@
         END
         CELL.READDIR    S32     1
-        CELL.BAD        S32     -100
+        CELL.BAD        S32     0
 	CELL.XSIZE	S32	590
 	CELL.YSIZE	S32	598
@@ -501,4 +503,6 @@
 # How to translation PS concepts into database lookups
 DATABASE        METADATA
+	# this rule is fragile : does not match the camera
+        FPA.TEMP        STR     SELECT ccd_temp FROM rawExp WHERE dateobs >= '{FPA.DATE}' and abs(timediff(dateobs, cast('{FPA.TIME}' as datetime))) < 2
 END
 
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/format_20100122.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/format_20100122.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/format_20100122.config	(revision 27840)
@@ -0,0 +1,523 @@
+# Refurbished GPC1
+# Change effective from 22 January 2010 (TJD=5219): new CCD temperature keywords
+
+# How to identify this type
+RULE    METADATA
+	ORIGIN		STR	PS1
+        TELESCOP        STR     PS1
+	INSTRUME	STR	gpc1
+        CONTROLR        STR     STARGRASP
+        NAMPS           S32     64
+	MJD-OBS		F64	55219.0		# OP: >=
+END
+
+# How to read this data
+FILE    METADATA
+        PHU             STR     CHIP       # The FITS file represents a single chip
+        EXTENSIONS      STR     CELL       # The extensions represent cells
+        FPA.OBS         STR     FILENAME   # A PHU keyword for unique identifier within the hierarchy level
+        CONTENT         STR     DETECTOR   # How to determine content of FITS file
+        CONTENT.RULE    STR     {CHIP.ID}  # How to derive the CONTENT when writing
+END
+
+# What's in the FITS file?
+CONTENTS        METADATA
+        # CONTENT      =    chip name : type
+        CCID58-2-15a1  STR  XY01:GPCChip  # chip 00
+        CCID58-2-18a1  STR  XY02:GPCChip  # chip 01
+        CCID58-2-04a2  STR  XY03:GPCChip  # chip 02
+        CCID58-1-01b1  STR  XY04:GPCChip  # chip 03
+        CCID58-1-09b1  STR  XY05:GPCChip  # chip 04
+        CCID58-2-09b1  STR  XY06:GPCChip  # chip 05
+        CCID58-2-22a1  STR  XY10:GPCChip  # chip 06
+        CCID58-2-01a1  STR  XY11:GPCChip  # chip 07
+        CCID58-3-11a1  STR  XY12:GPCChip  # chip 08
+        CCID58-3-06a1  STR  XY13:GPCChip  # chip 09
+        CCID58-3-05b1  STR  XY14:GPCChip  # chip 10
+        CCID58-3-08b1  STR  XY15:GPCChip  # chip 11
+        CCID58-1-02b1  STR  XY16:GPCChip  # chip 12
+        CCID58-2-07b2  STR  XY17:GPCChip  # chip 13
+        CCID58-1-19a1  STR  XY20:GPCChip  # chip 14
+        CCID58-1-04a1  STR  XY21:GPCChip  # chip 15
+        CCID58-2-09a2  STR  XY22:GPCChip  # chip 16
+        CCID58-1-02a1  STR  XY23:GPCChip  # chip 17
+        CCID58-3-10b1  STR  XY24:GPCChip  # chip 18
+        CCID58-3-05b2  STR  XY25:GPCChip  # chip 19
+        CCID58-3-04b1  STR  XY26:GPCChip  # chip 20
+        CCID58-1-18b1  STR  XY27:GPCChip  # chip 21
+        CCID58-3-13a2  STR  XY30:GPCChip  # chip 22
+        CCID58-3-05a1  STR  XY31:GPCChip  # chip 23
+        CCID58-2-01a2  STR  XY32:GPCChip  # chip 24
+        CCID58-1-02a2  STR  XY33:GPCChip  # chip 25
+        CCID58-3-03b1  STR  XY34:GPCChip  # chip 26
+        CCID58-1-01b2  STR  XY35:GPCChip  # chip 27
+        CCID58-3-14b1  STR  XY36:GPCChip  # chip 28
+        CCID58-2-23b2  STR  XY37:GPCChip  # chip 29
+        CCID58-3-02b1  STR  XY40:GPCChip  # chip 30
+        CCID58-1-03b2  STR  XY41:GPCChip  # chip 31
+        CCID58-1-07b1  STR  XY42:GPCChip  # chip 32
+        CCID58-2-11b2  STR  XY43:GPCChip  # chip 33
+        CCID58-2-09a1  STR  XY44:GPCChip  # chip 34
+        CCID58-3-04a2  STR  XY45:GPCChip  # chip 35
+        CCID58-3-02a1  STR  XY46:GPCChip  # chip 36
+        CCID58-3-14a1  STR  XY47:GPCChip  # chip 37
+        CCID58-1-17b1  STR  XY50:GPCChip  # chip 38
+        CCID58-2-09b2  STR  XY51:GPCChip  # chip 39
+        CCID58-1-04b1  STR  XY52:GPCChip  # chip 40
+        CCID58-1-05b2  STR  XY53:GPCChip  # chip 41
+        CCID58-3-05a2  STR  XY54:GPCChip  # chip 42
+        CCID58-3-03a2  STR  XY55:GPCChip  # chip 43
+        CCID58-3-02a2  STR  XY56:GPCChip  # chip 44
+        CCID58-3-11a2  STR  XY57:GPCChip  # chip 45
+        CCID58-2-16b1  STR  XY60:GPCChip  # chip 46
+        CCID58-1-03b1  STR  XY61:GPCChip  # chip 47
+        CCID58-3-03b2  STR  XY62:GPCChip  # chip 48
+        CCID58-1-02b2  STR  XY63:GPCChip  # chip 49
+        CCID58-1-07a1  STR  XY64:GPCChip  # chip 50
+        CCID58-2-04a1  STR  XY65:GPCChip  # chip 51
+        CCID58-3-10a1  STR  XY66:GPCChip  # chip 52
+        CCID58-1-09a1  STR  XY67:GPCChip  # chip 53
+        CCID58-2-13b1  STR  XY71:GPCChip  # chip 54
+        CCID58-1-14b1  STR  XY72:GPCChip  # chip 55
+        CCID58-3-11b2  STR  XY73:GPCChip  # chip 56
+        CCID58-1-05a2  STR  XY74:GPCChip  # chip 57
+        CCID58-1-21a1  STR  XY75:GPCChip  # chip 58
+        CCID58-2-05a1  STR  XY76:GPCChip  # chip 59
+END
+
+CHIPS   METADATA
+        GPCChip         METADATA
+                # Extension name, cellName:cellType
+                xy00   STR  xy00:GPCCell
+                xy10   STR  xy10:GPCCell
+                xy20   STR  xy20:GPCCell
+                xy30   STR  xy30:GPCCell
+                xy40   STR  xy40:GPCCell
+                xy50   STR  xy50:GPCCell
+                xy60   STR  xy60:GPCCell
+                xy70   STR  xy70:GPCCell
+                xy01   STR  xy01:GPCCell
+                xy11   STR  xy11:GPCCell
+                xy21   STR  xy21:GPCCell
+                xy31   STR  xy31:GPCCell
+                xy41   STR  xy41:GPCCell
+                xy51   STR  xy51:GPCCell
+                xy61   STR  xy61:GPCCell
+                xy71   STR  xy71:GPCCell
+                xy02   STR  xy02:GPCCell
+                xy12   STR  xy12:GPCCell
+                xy22   STR  xy22:GPCCell
+                xy32   STR  xy32:GPCCell
+                xy42   STR  xy42:GPCCell
+                xy52   STR  xy52:GPCCell
+                xy62   STR  xy62:GPCCell
+                xy72   STR  xy72:GPCCell
+                xy03   STR  xy03:GPCCell
+                xy13   STR  xy13:GPCCell
+                xy23   STR  xy23:GPCCell
+                xy33   STR  xy33:GPCCell
+                xy43   STR  xy43:GPCCell
+                xy53   STR  xy53:GPCCell
+                xy63   STR  xy63:GPCCell
+                xy73   STR  xy73:GPCCell
+                xy04   STR  xy04:GPCCell
+                xy14   STR  xy14:GPCCell
+                xy24   STR  xy24:GPCCell
+                xy34   STR  xy34:GPCCell
+                xy44   STR  xy44:GPCCell
+                xy54   STR  xy54:GPCCell
+                xy64   STR  xy64:GPCCell
+                xy74   STR  xy74:GPCCell
+                xy05   STR  xy05:GPCCell
+                xy15   STR  xy15:GPCCell
+                xy25   STR  xy25:GPCCell
+                xy35   STR  xy35:GPCCell
+                xy45   STR  xy45:GPCCell
+                xy55   STR  xy55:GPCCell
+                xy65   STR  xy65:GPCCell
+                xy75   STR  xy75:GPCCell
+                xy06   STR  xy06:GPCCell
+                xy16   STR  xy16:GPCCell
+                xy26   STR  xy26:GPCCell
+                xy36   STR  xy36:GPCCell
+                xy46   STR  xy46:GPCCell
+                xy56   STR  xy56:GPCCell
+                xy66   STR  xy66:GPCCell
+                xy76   STR  xy76:GPCCell
+                xy07   STR  xy07:GPCCell
+                xy17   STR  xy17:GPCCell
+                xy27   STR  xy27:GPCCell
+                xy37   STR  xy37:GPCCell
+                xy47   STR  xy47:GPCCell
+                xy57   STR  xy57:GPCCell
+                xy67   STR  xy67:GPCCell
+                xy77   STR  xy77:GPCCell
+        END
+END
+
+# Specify the cell data
+CELLS   METADATA
+        GPCCell         METADATA
+                CELL.TRIMSEC.SOURCE     STR     HEADER
+                CELL.TRIMSEC            STR     DATASEC
+                CELL.BIASSEC.SOURCE     STR     HEADER
+                CELL.BIASSEC            STR     BIASSEC
+        END
+END
+
+
+# How to translate PS concepts into FITS headers
+TRANSLATION     METADATA
+        FPA.FILTERID    STR     FILTERID
+        FPA.FILTER      STR     FILTERID
+        FPA.RA          STR     RA
+        FPA.DEC         STR     DEC
+        FPA.RADECSYS    STR     EQUINOX
+        FPA.OBSTYPE     STR     OBSTYPE
+        FPA.OBJECT      STR     OBJECT
+        FPA.OBS.MODE    STR     OBS_MODE
+        FPA.COMMENT     STR     CMMTOBS
+        FPA.AIRMASS     STR     AIRMASS
+        FPA.POSANGLE    STR     POSANGLE
+	FPA.ROTANGLE	STR	ROT
+        FPA.FOCUS       STR     M2Z
+        FPA.TIME        STR     SHUTOUTC
+        FPA.ALT         STR     ALT
+        FPA.AZ          STR     AZ
+        # FPA.TEMP        STR     DETTEM
+        FPA.M1X         STR     M1X
+        FPA.M1Y         STR     M1Y   
+        FPA.M1Z         STR     M1Z   
+        FPA.M1TIP       STR     M1TIP 
+        FPA.M1TILT      STR     M1TILT
+        FPA.M2X         STR     M2X
+        FPA.M2Y         STR     M2Y   
+        FPA.M2Z         STR     M2Z   
+        FPA.M2TIP       STR     M2TIP 
+        FPA.M2TILT      STR     M2TILT
+        FPA.ENV.TEMP    STR     ENVTEM
+        FPA.ENV.HUMID   STR     ENVHUM
+        FPA.ENV.WIND    STR     ENVWIN
+        FPA.ENV.DIR     STR     ENVDIR
+
+        FPA.TELTEMP.M1     STR  TELTEMM1 # Primary mirror temps (C) 
+        FPA.TELTEMP.M1CELL STR  TELTEMMS # Primary mirror support temps (C)   
+        FPA.TELTEMP.M2     STR  TELTEMM2 # Secondary mirror temps (C
+        FPA.TELTEMP.SPIDER STR  TELTEMSP # Spider temperatures (C)  
+        FPA.TELTEMP.TRUSS  STR  TELTEMTR # Mid truss temperatures (C
+        FPA.TELTEMP.EXTRA  STR  TELTEMEX # Miscellaneous temperatures (C)     
+
+        FPA.BURNTOOL.APPLIED STR BTOOLAPP
+
+        FPA.PON.TIME    STR     PONTIME
+
+        CHIP.ID         STR     DETECTOR
+        CELL.XBIN       STR     CCDSUM
+        CELL.YBIN       STR     CCDSUM
+        CELL.X0         STR     IMNPIX1
+        CELL.Y0         STR     IMNPIX2
+        CELL.XPARITY    STR     ATM1_1
+        CELL.YPARITY    STR     ATM2_2
+	CHIP.TEMP	STR	CDETTEM
+        FPA.EXPOSURE    STR     EXPREQ          # Requested exposure time, presumably camera exposure time
+        CELL.EXPOSURE   STR     EXPTIME         # Exposure time measured by shutter
+        CELL.DARKTIME   STR     DARKTIME        # Exposure time for camera
+        CELL.TIME       STR     SHUTOUTC	# Observation time
+        CELL.GAIN       STR     GAIN		# Cell gain (e/ADU)
+        CELL.READNOISE  STR     RDNOISE		# Cell read noise (ADU)
+        CELL.SATURATION STR     MAXLIN		# Saturation point (ADU)
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS        METADATA
+        FPA.TELESCOPE   STR     PS1
+        FPA.INSTRUMENT  STR     GPC1
+        FPA.LONGITUDE   STR     10:25:01.417 # West Longitude in Hours 10.4170608521
+        FPA.LATITUDE    STR     20:42:25.558 # North Latitude in Degrees 20.7070999146
+        FPA.ELEVATION   F32     3048.0 # altitude in meters
+        FPA.DETECTOR    STR     GPC1
+        FPA.TIMESYS     STR     UTC
+	CHIP.XSIZE	S32	4846
+	CHIP.YSIZE	S32	4868
+        CHIP.XPARITY    S32     1
+        CHIP.YPARITY    S32     1
+        CHIP.X0.DEPEND          STR     CHIP.NAME
+        CHIP.X0         METADATA
+          XY01  S32     4971
+          XY02  S32     4971
+          XY03  S32     4971
+          XY04  S32     4971
+          XY05  S32     4971
+          XY06  S32     4971
+          XY10  S32     9942
+          XY11  S32     9942
+          XY12  S32     9942
+          XY13  S32     9942
+          XY14  S32     9942
+          XY15  S32     9942
+          XY16  S32     9942
+          XY17  S32     9942
+          XY20  S32     14913
+          XY21  S32     14913
+          XY22  S32     14913
+          XY23  S32     14913
+          XY24  S32     14913
+          XY25  S32     14913
+          XY26  S32     14913
+          XY27  S32     14913
+          XY30  S32     19884
+          XY31  S32     19884
+          XY32  S32     19884
+          XY33  S32     19884 # should be 19872
+          XY34  S32     19884
+          XY35  S32     19884
+          XY36  S32     19884
+          XY37  S32     19884
+          XY40  S32     20041
+          XY41  S32     20041
+          XY42  S32     20041
+          XY43  S32     20041 # should be 20029
+          XY44  S32     20041
+          XY45  S32     20041
+          XY46  S32     20041
+          XY47  S32     20041
+          XY50  S32     25012
+          XY51  S32     25012
+          XY52  S32     25012
+          XY53  S32     25012
+          XY54  S32     25012
+          XY55  S32     25012
+          XY56  S32     25012
+          XY57  S32     25012
+          XY60  S32     29983
+          XY61  S32     29983
+          XY62  S32     29983
+          XY63  S32     29983
+          XY64  S32     29983
+          XY65  S32     29983
+          XY66  S32     29983
+          XY67  S32     29983
+          XY71  S32     34954
+          XY72  S32     34954
+          XY73  S32     34954
+          XY74  S32     34954
+          XY75  S32     34954
+          XY76  S32     34954
+        END
+        CHIP.Y0.DEPEND          STR     CHIP.NAME
+        CHIP.Y0         METADATA
+          XY01  S32     10286
+          XY02  S32     15429
+          XY03  S32     20572
+          XY04  S32     25715
+          XY05  S32     30858
+          XY06  S32     36001
+          XY10  S32     5143
+          XY11  S32     10286
+          XY12  S32     15429
+          XY13  S32     20572
+          XY14  S32     25715
+          XY15  S32     30858
+          XY16  S32     36001
+          XY17  S32     41144
+          XY20  S32     5143
+          XY21  S32     10286
+          XY22  S32     15429
+          XY23  S32     20572
+          XY24  S32     25715
+          XY25  S32     30858
+          XY26  S32     36001
+          XY27  S32     41144
+          XY30  S32     5143
+          XY31  S32     10286
+          XY32  S32     15429
+          XY33  S32     20572
+          XY34  S32     25715 # should be 25755
+          XY35  S32     30858
+          XY36  S32     36001
+          XY37  S32     41144
+          XY40  S32     306
+          XY41  S32     5449
+          XY42  S32     10592
+          XY43  S32     15735 # should be 15707
+          XY44  S32     20878 # should be 20890
+          XY45  S32     26021
+          XY46  S32     31164
+          XY47  S32     36307
+          XY50  S32     306
+          XY51  S32     5449
+          XY52  S32     10592
+          XY53  S32     15735
+          XY54  S32     20878
+          XY55  S32     26021
+          XY56  S32     31164
+          XY57  S32     36307
+          XY60  S32     306
+          XY61  S32     5449
+          XY62  S32     10592
+          XY63  S32     15735
+          XY64  S32     20878
+          XY65  S32     26021
+          XY66  S32     31164
+          XY67  S32     36307
+          XY71  S32     5449
+          XY72  S32     10592
+          XY73  S32     15735
+          XY74  S32     20878
+          XY75  S32     26021
+          XY76  S32     31164
+        END
+        CHIP.XPARITY.DEPEND     STR     CHIP.NAME
+        CHIP.XPARITY    METADATA
+          XY01  S32     -1
+          XY02  S32     -1
+          XY03  S32     -1
+          XY04  S32     -1
+          XY05  S32     -1
+          XY06  S32     -1
+          XY10  S32     -1
+          XY11  S32     -1
+          XY12  S32     -1
+          XY13  S32     -1
+          XY14  S32     -1
+          XY15  S32     -1
+          XY16  S32     -1
+          XY17  S32     -1
+          XY20  S32     -1
+          XY21  S32     -1
+          XY22  S32     -1
+          XY23  S32     -1
+          XY24  S32     -1
+          XY25  S32     -1
+          XY26  S32     -1
+          XY27  S32     -1
+          XY30  S32     -1
+          XY31  S32     -1
+          XY32  S32     -1
+          XY33  S32     -1
+          XY34  S32     -1
+          XY35  S32     -1
+          XY36  S32     -1
+          XY37  S32     -1
+          XY40  S32     1
+          XY41  S32     1
+          XY42  S32     1
+          XY43  S32     1
+          XY44  S32     1
+          XY45  S32     1
+          XY46  S32     1
+          XY47  S32     1
+          XY50  S32     1
+          XY51  S32     1
+          XY52  S32     1
+          XY53  S32     1
+          XY54  S32     1
+          XY55  S32     1
+          XY56  S32     1
+          XY57  S32     1
+          XY60  S32     1
+          XY61  S32     1
+          XY62  S32     1
+          XY63  S32     1
+          XY64  S32     1
+          XY65  S32     1
+          XY66  S32     1
+          XY67  S32     1
+          XY71  S32     1
+          XY72  S32     1
+          XY73  S32     1
+          XY74  S32     1
+          XY75  S32     1
+          XY76  S32     1
+        END
+        CHIP.YPARITY.DEPEND     STR     CHIP.NAME
+        CHIP.YPARITY    METADATA
+          XY01  S32     -1
+          XY02  S32     -1
+          XY03  S32     -1
+          XY04  S32     -1
+          XY05  S32     -1
+          XY06  S32     -1
+          XY10  S32     -1
+          XY11  S32     -1
+          XY12  S32     -1
+          XY13  S32     -1
+          XY14  S32     -1
+          XY15  S32     -1
+          XY16  S32     -1
+          XY17  S32     -1
+          XY20  S32     -1
+          XY21  S32     -1
+          XY22  S32     -1
+          XY23  S32     -1
+          XY24  S32     -1
+          XY25  S32     -1
+          XY26  S32     -1
+          XY27  S32     -1
+          XY30  S32     -1
+          XY31  S32     -1
+          XY32  S32     -1
+          XY33  S32     -1
+          XY34  S32     -1
+          XY35  S32     -1
+          XY36  S32     -1
+          XY37  S32     -1
+          XY40  S32     1
+          XY41  S32     1
+          XY42  S32     1
+          XY43  S32     1
+          XY44  S32     1
+          XY45  S32     1
+          XY46  S32     1
+          XY47  S32     1
+          XY50  S32     1
+          XY51  S32     1
+          XY52  S32     1
+          XY53  S32     1
+          XY54  S32     1
+          XY55  S32     1
+          XY56  S32     1
+          XY57  S32     1
+          XY60  S32     1
+          XY61  S32     1
+          XY62  S32     1
+          XY63  S32     1
+          XY64  S32     1
+          XY65  S32     1
+          XY66  S32     1
+          XY67  S32     1
+          XY71  S32     1
+          XY72  S32     1
+          XY73  S32     1
+          XY74  S32     1
+          XY75  S32     1
+          XY76  S32     1
+        END
+        CELL.READDIR    S32     1
+        CELL.BAD        S32     0
+	CELL.XSIZE	S32	590
+	CELL.YSIZE	S32	598
+        CELL.TIMESYS    STR     UTC
+END
+
+# How to translation PS concepts into database lookups
+DATABASE        METADATA
+	# this rule is fragile : does not match the camera
+        FPA.TEMP        STR     SELECT ccd_temp FROM rawExp WHERE dateobs >= '{FPA.DATE}' and abs(timediff(dateobs, cast('{FPA.TIME}' as datetime))) < 2
+END
+
+
+# Where there might be some ambiguity, specify the format
+FORMATS         METADATA
+        FPA.RA          STR     DEGREES
+        FPA.DEC         STR     DEGREES
+	FPA.LONGITUDE	STR	HOURS
+	FPA.LATITUDE	STR	DEGREES
+        FPA.TIME        STR     YEAR.FIRST
+        CELL.TIME       STR     YEAR.FIRST
+        CELL.BINNING    STR     TOGETHER
+        # CELL.X0         STR     FORTRAN
+        # CELL.Y0         STR     FORTRAN
+	CELL.READNOISE	STR	ADU
+END
+ 
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/format_mef.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/format_mef.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/format_mef.config	(revision 27840)
@@ -13,5 +13,5 @@
 	PHU		STR	FPA	   # The FITS file represents a complete camera fpa
 	EXTENSIONS	STR	CHIP	   # The extensions represent chips
-	FPA.OBS		STR	CONTROLR   # A PHU keyword for unique identifier within the hierarchy level
+	FPA.OBS		STR	FILENAME   # A PHU keyword for unique identifier within the hierarchy level
 END
 
@@ -179,4 +179,5 @@
 	FPA.AZ		STR	AZ
 	FPA.TEMP	STR	DETTEM
+	FPA.ZP		STR	MAG_ZP
 	CHIP.ID         STR	DETECTOR
 	CELL.XBIN	STR	CCDSUM
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/format_orig.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/format_orig.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/format_orig.config	(revision 27840)
@@ -23,5 +23,5 @@
         PHU             STR     CHIP       # The FITS file represents a single chip
         EXTENSIONS      STR     CELL       # The extensions represent cells
-        FPA.OBS         STR     CONTROLR   # A PHU keyword for unique identifier within the hierarchy level
+        FPA.OBS         STR     FILENAME   # A PHU keyword for unique identifier within the hierarchy level
         CONTENT         STR     DETECTOR   # How to determine content of FITS file
         CONTENT.RULE    STR     {CHIP.ID}  # How to derive the CONTENT when writing
@@ -216,4 +216,6 @@
         FPA.TELTEMP.EXTRA  STR  TELTEMEX # Miscellaneous temperatures (C)     
 
+        FPA.BURNTOOL.APPLIED STR BTOOLAPP
+
         FPA.PON.TIME    STR     PONTIME
 
@@ -227,4 +229,5 @@
 #       CELL.SATURATION STR     SATURATE
 
+	CHIP.SEEING	STR	SEEING
 #        CHIP.TEMP       STR     DETTEM	# XY24 is bad, so get it from the database; all others from header
 	CHIP.TEMP.DEPEND	STR	CHIP.NAME
@@ -568,5 +571,5 @@
         CELL.READNOISE  F32     15.0
         CELL.READDIR    S32     1
-        CELL.BAD        S32     -100
+        CELL.BAD        S32     0
 	CELL.XSIZE	S32	590
 	CELL.YSIZE	S32	598
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/format_relphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/format_relphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/format_relphot.config	(revision 27840)
@@ -13,5 +13,5 @@
 	PHU		STR	FPA	   # The FITS file represents a complete camera fpa
 	EXTENSIONS	STR	CHIP	   # The extensions represent chips
-	FPA.OBS		STR	CONTROLR   # A PHU keyword for unique identifier within the hierarchy level
+	FPA.OBS		STR	FILENAME   # A PHU keyword for unique identifier within the hierarchy level
 END
 
@@ -116,4 +116,6 @@
 	FPA.AZ		STR	AZ
 	FPA.TEMP	STR	DETTEM
+	FPA.ZP		STR	MAG_ZP
+	CHIP.SEEING	STR	SEEING
 	CHIP.ID         STR	DETECTOR
 	CELL.XBIN	STR	CCDSUM
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/ppImage.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/ppImage.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/ppImage.config	(revision 27840)
@@ -15,8 +15,140 @@
 OLDDARK                 BOOL    FALSE
 
+GAIN.OVERRIDE		BOOL	TRUE		# Override a non-finite gain?
+
 # use the deburned image instead of the raw, if it exists
 USE.DEBURNED.IMAGE      BOOL    TRUE           # use burntool-repaired image?
+USE.BEST.BURNTOOL	BOOL	TRUE	       # require the best burntooled data
+MASK.BURNTOOL           BOOL    FALSE           # Mask potential burntool trails
 TILTYSTREAK.APPLY       BOOL    FALSE          # apply the 'tiltystreak' tool
 NOISEMAP                BOOL    FALSE          # Apply read noise map
+
+PATTERN.ROW		BOOL 	FALSE	# Do any row pattern correction at all?
+PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
+	XY01	BOOL	FALSE
+	XY02	BOOL	FALSE
+	XY03	BOOL	FALSE
+	XY04	BOOL	FALSE
+	XY05	BOOL	FALSE
+	XY06	BOOL	FALSE
+	XY10	BOOL	FALSE
+	XY11	BOOL	FALSE
+	XY12	BOOL	FALSE
+	XY13	BOOL	FALSE
+	XY14	BOOL	FALSE
+	XY15	STR     1111111100000000000000000000000000000000000000000000000000000000 # cols: 0
+	XY16	BOOL	FALSE
+	XY17	BOOL	FALSE
+	XY20	BOOL	FALSE
+	XY21	BOOL	FALSE
+	XY22	BOOL	FALSE
+	XY23	BOOL	FALSE
+	XY24	BOOL	FALSE
+	XY25	BOOL	FALSE
+	XY26	BOOL	FALSE
+	XY27	STR     1111111111111111111111111111111100000000000000000000000011111111 # cols: 0,1,2,3,7
+	XY30	BOOL	FALSE
+	XY31	BOOL	FALSE
+	XY32	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
+	XY33	BOOL	FALSE
+	XY34	BOOL	FALSE
+	XY35	BOOL	FALSE
+	XY36	BOOL	FALSE
+	XY37	BOOL	FALSE
+	XY40	BOOL	FALSE
+	XY41	BOOL	FALSE
+	XY42	BOOL	FALSE
+	XY43	BOOL	FALSE
+	XY44	BOOL	FALSE
+	XY45	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
+	XY46	BOOL	FALSE
+	XY47	STR     1111111100000000000000001111111100000000111111110000000011111111 # cols: 0,3,5,7
+	XY50	BOOL	FALSE
+	XY51	BOOL	FALSE
+	XY52	BOOL	FALSE
+	XY53	BOOL	FALSE
+	XY54	BOOL	FALSE
+	XY55	BOOL	FALSE
+	XY56	BOOL	FALSE
+	XY57	STR     1111111111111111111111110000000000000000000000001111111111111111 # cols: 0,1,2,6,7
+	XY60	STR	0000000000000000000000000000000000000000000001000000000000000000 # cell xy55
+	XY61	BOOL	FALSE
+	XY62	BOOL	FALSE
+	XY63	BOOL	FALSE
+	XY64	BOOL	FALSE
+	XY65	BOOL	FALSE
+	XY66	BOOL	FALSE
+	XY67	BOOL	FALSE
+	XY71	BOOL	FALSE
+	XY72	BOOL	FALSE
+	XY73	BOOL	FALSE
+	XY74	STR     0000000000000000111111110000000000000000000000000000000011111111 # cols: 2,7
+	XY75	BOOL	FALSE
+	XY76	BOOL	FALSE
+END
+
+PATTERN.CELL	BOOL 	FALSE		# by default, do not do any cell pattern correction
+PATTERN.CELL.SUBSET	METADATA	# List of chips and whether to do cell pattern correction
+	XY01	BOOL	FALSE
+	XY02	BOOL	FALSE
+	XY03	BOOL	FALSE
+	XY04	BOOL	FALSE
+	XY05	BOOL	FALSE
+	XY06    STR     11010000000100000001101001000000000000000000000000000000000000000
+	XY10	BOOL	FALSE
+	XY11	BOOL	FALSE
+	XY12	BOOL	FALSE
+	XY13	BOOL	FALSE
+	XY14	STR     0000000000000000000000000000000000000000000000010000000000101101
+	XY15	STR     0011111100011000000001000000010000001001000111110001010000011111
+	XY16	STR     0000000100000000000000000000000000000001000000000000000000000000
+	XY17	BOOL	FALSE
+	XY20	BOOL	FALSE
+	XY21	BOOL	FALSE
+	XY22	BOOL	FALSE
+	XY23	BOOL	FALSE
+	XY24	STR     0000000000100000000000000110100000100000001000000011100000000000
+	XY25	STR     0100010000001001001011000000001000000111000110000000100000000010
+	XY26	STR     0000000000000100000000000000000000001000001000000000000000000000
+	XY27	BOOL	FALSE
+	XY30	BOOL	FALSE
+	XY31	BOOL	FALSE
+	XY32	BOOL	FALSE
+	XY33	BOOL	FALSE
+	XY34	STR     0000000000000000000000000000000000000001000011000000101000111111
+	XY35	BOOL	FALSE
+	XY36	STR     0000000000000000000000000000000000010000000000000000000000000000
+	XY37	STR     0000000000000000000000000000000100010001000000001011000010110110
+	XY40	STR     0000000000000000000000000010110000000000000001110000001000011111
+	XY41	BOOL	FALSE
+	XY42	BOOL	FALSE
+	XY43	STR     0000000000000000000000010000000100000000000010000100000100000100
+	XY44	BOOL	FALSE
+	XY45	BOOL	FALSE
+	XY46	BOOL	FALSE
+	XY47	BOOL	FALSE
+	XY50	BOOL	FALSE
+	XY51	BOOL	FALSE
+	XY52	BOOL	FALSE
+	XY53	BOOL	FALSE
+	XY54	BOOL	FALSE
+	XY55	BOOL	FALSE
+	XY56	BOOL	FALSE
+	XY57	BOOL	FALSE
+	XY60	BOOL	FALSE
+	XY61	BOOL	FALSE
+	XY62	STR     0000000000000000000000000000000000001000000000000000000100001010
+	XY63	BOOL	FALSE
+	XY64	BOOL	FALSE
+	XY65	BOOL	FALSE
+	XY66	BOOL	FALSE
+	XY67	BOOL	FALSE
+	XY71	BOOL	FALSE
+	XY72	STR     0000000000000000000000000000000000000000000000000000000000000001
+	XY73	STR     0001100000000000000000000000001000000000000000000000000000000000
+	XY74	BOOL	FALSE
+	XY75	BOOL	FALSE
+	XY76	BOOL	FALSE
+END
 
 TILTYSTREAK.BY.CLASS METADATA              # apply the 'tiltystreak' tool
@@ -151,6 +283,9 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
-  PATTERN          BOOL    TRUE            # Subtract pattern noise
-  FRINGE           BOOL    FALSE           # Fringe subtraction
+  MASK.BUILD	   BOOL	   TRUE		   # Build internal mask?
+  MASK.BURNTOOL    BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW      BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	   BOOL	   TRUE		   # Cell pattern correction
+  FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
   BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
@@ -177,4 +312,6 @@
   FLAT               BOOL    TRUE            # Flat-field normalisation
   MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
   FRINGE             BOOL    FALSE           # Fringe subtraction
   BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
@@ -204,4 +341,6 @@
   FLAT               BOOL    TRUE            # Flat-field normalisation
   MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
   FRINGE             BOOL    FALSE           # Fringe subtraction
   BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
@@ -232,4 +371,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -255,4 +395,5 @@
   FLAT               BOOL    FALSE           # Flat-field normalisation
   MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	     BOOL    FALSE	     # Build internal mask?
   FRINGE             BOOL    FALSE           # Fringe subtraction
   PHOTOM             BOOL    FALSE           # Source identification and photometry
@@ -277,4 +418,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -299,4 +441,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -329,4 +472,6 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  MASK.BURNTOOL    BOOL    TRUE            # Mask potential burntool trails
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -379,4 +524,5 @@
   FLAT               BOOL    FALSE           # Flat-field normalisation
   MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	     BOOL    FALSE	     # Build internal mask?
   FRINGE             BOOL    FALSE           # Fringe subtraction
   PHOTOM             BOOL    FALSE           # Source identification and photometry
@@ -401,4 +547,5 @@
   FLAT               BOOL    FALSE           # Flat-field normalisation
   MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	     BOOL    FALSE	     # Build internal mask?
   FRINGE             BOOL    FALSE           # Fringe subtraction
   PHOTOM             BOOL    FALSE           # Source identification and photometry
@@ -430,4 +577,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -452,4 +600,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -485,4 +634,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -509,4 +659,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
   BACKGROUND       BOOL    TRUE            # Subtract background?
   FRINGE           BOOL    FALSE           # Fringe subtraction
@@ -532,4 +683,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
   BACKGROUND       BOOL    TRUE            # Subtract background?
   FRINGE           BOOL    FALSE           # Fringe subtraction
@@ -555,4 +707,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
   BACKGROUND       BOOL    TRUE            # Subtract background?
   FRINGE           BOOL    FALSE           # Fringe subtraction
@@ -578,4 +731,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -625,4 +779,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -668,4 +823,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -687,4 +843,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -723,4 +880,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -759,4 +917,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -794,4 +953,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -836,4 +996,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -871,4 +1032,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -922,6 +1084,8 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
-  FRINGE           BOOL    FALSE           # Fringe subtraction
-  PATTERN          BOOL    TRUE            # Subtract pattern noise
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PATTERN.ROW      BOOL    TRUE            # Row pattern correction
+  PATTERN.CELL	   BOOL	   TRUE		   # Cell pattern correction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
   BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
@@ -934,7 +1098,7 @@
 
 
-# Standard chip processing with pattern subtraction activated
-CHIP_PATTERN              METADATA
-  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+# Standard chip processing without any background removal
+CHIP_PRESERVE_BG	METADATA
+  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?
@@ -949,5 +1113,65 @@
   FLAT               BOOL    TRUE            # Flat-field normalisation
   MASK               BOOL    TRUE            # Mask bad pixels
-  FRINGE             BOOL    FALSE           # Fringe subtraction
+  MASK.BUILD	     BOOL    TRUE	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW        BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL	     BOOL    FALSE	     # Cell pattern correction
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    FALSE           # Subtract background?
+  CROSSTALK.MEASURE  BOOL    TRUE            # Subtract model background?
+END
+
+# Standard chip processing
+CHIP_NOPATTERN     METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	   BOOL    TRUE		   # Build internal mask?
+  MASK.BURNTOOL    BOOL    TRUE            # Mask potential burntool trails
+  PATTERN.ROW      BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL	   BOOL	   FALSE	   # Cell pattern correction
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND       BOOL    TRUE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL  TRUE            # Subtract model background?
+END
+
+# Standard chip processing for old pre-run5 data
+CHIP_PATTERN	METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS               BOOL    FALSE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  REMNANCE           BOOL    FALSE           # Remnance masking
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
+  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  FRINGE             BOOL    TRUE            # Fringe subtraction
   BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
   BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
@@ -957,7 +1181,68 @@
   BACKGROUND         BOOL    TRUE            # Subtract background?
   CROSSTALK.MEASURE  BOOL    TRUE            # Subtract model background?
-  TILTYSTREAK.APPLY  BOOL    FALSE           # apply the 'tiltystreak' tool
-  PATTERN            BOOL    TRUE            # Subtract pattern noise
-  NOISEMAP           BOOL    TRUE            # Apply read noise map
-END
-
+  PATTERN.ROW        BOOL    TRUE           # Subtract pattern noise
+  PATTERN.CELL       BOOL    FALSE           # Subtract pattern noise
+
+  PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
+	XY01	BOOL	TRUE
+	XY02	BOOL	TRUE
+	XY03	BOOL	TRUE
+	XY04	BOOL	TRUE
+	XY05	BOOL	TRUE
+	XY06	BOOL	TRUE
+	XY10	BOOL	TRUE
+	XY11	BOOL	TRUE
+	XY12	BOOL	TRUE
+	XY13	BOOL	TRUE
+	XY14	BOOL	TRUE
+	XY15	BOOL	TRUE
+	XY16	BOOL	TRUE
+	XY17	BOOL	TRUE
+	XY20	BOOL	TRUE
+	XY21	BOOL	TRUE
+	XY22	BOOL	TRUE
+	XY23	BOOL	TRUE
+	XY24	BOOL	TRUE
+	XY25	BOOL	TRUE
+	XY26	BOOL	TRUE
+	XY27	BOOL	TRUE
+	XY30	BOOL	TRUE
+	XY31	BOOL	TRUE
+	XY32	BOOL	TRUE
+	XY33	BOOL	TRUE
+	XY34	BOOL	TRUE
+	XY35	BOOL	TRUE
+	XY36	BOOL	TRUE
+	XY37	BOOL	TRUE
+	XY40	BOOL	TRUE
+	XY41	BOOL	TRUE
+	XY42	BOOL	TRUE
+	XY43	BOOL	TRUE
+	XY44	BOOL	TRUE
+	XY45	BOOL	TRUE
+	XY46	BOOL	TRUE
+	XY47	BOOL	TRUE
+	XY50	BOOL	TRUE
+	XY51	BOOL	TRUE
+	XY52	BOOL	TRUE
+	XY53	BOOL	TRUE
+	XY54	BOOL	TRUE
+	XY55	BOOL	TRUE
+	XY56	BOOL	TRUE
+	XY57	BOOL	TRUE
+	XY60	BOOL	TRUE
+	XY61	BOOL	TRUE
+	XY62	BOOL	TRUE
+	XY63	BOOL	TRUE
+	XY64	BOOL	TRUE
+	XY65	BOOL	TRUE
+	XY66	BOOL	TRUE
+	XY67	BOOL	TRUE
+	XY71	BOOL	TRUE
+	XY72	BOOL	TRUE
+	XY73	BOOL	TRUE
+	XY74	BOOL	TRUE
+	XY75	BOOL	TRUE
+	XY76	BOOL	TRUE
+  END
+END
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/ppMerge.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/ppMerge.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/ppMerge.config	(revision 27840)
@@ -43,6 +43,23 @@
 # END
 
+# 2010.02.02 -- this was the dark rule for the dark master from 20100124
 # Ordinates for fitting dark current as function of darktime and fpa temp:
 # Counts = C0 + (CT0 + CT1*Temp + CT2*Temp^2)*exptime
+# the 0th order term is implied, right?
+# Note: GPC1 has bad values for DARKTIME in unpredictable cells; use EXPOSURE for now
+# DARK.ORDINATES	METADATA
+# 	CELL.EXPOSURE	S32	1
+#  	TEMP	METADATA
+#  		ORDER	S32	1
+# 		RULE	STR	CHIP.TEMP * CELL.EXPOSURE
+#  	END
+#  	TEMP2	METADATA
+#  		ORDER	S32	1
+# 		RULE	STR	CHIP.TEMP * CHIP.TEMP * CELL.EXPOSURE
+#  	END
+# END
+
+# Ordinates for fitting dark current as function of darktime and fpa temp:
+# Counts = C0 + (CT0 + CT1*Temp)*exptime
 # the 0th order term is implied, right?
 # Note: GPC1 has bad values for DARKTIME in unpredictable cells; use EXPOSURE for now
@@ -53,7 +70,3 @@
 		RULE	STR	CHIP.TEMP * CELL.EXPOSURE
  	END
- 	TEMP2	METADATA
- 		ORDER	S32	1
-		RULE	STR	CHIP.TEMP * CHIP.TEMP * CELL.EXPOSURE
- 	END
 END
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/ppStack.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/ppStack.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/ppStack.config	(revision 27840)
@@ -1,38 +1,16 @@
-# Recipe configuration for ppStack (image combination)
+PSF.MODEL	STR	PS_MODEL_PS1_V1	# Model for PSF generation
 
-ITER		S32	1		# Number of rejection iterations
-COMBINE.REJ	F32	4.0		# Rejection threshold in combination (sigma)
-MASK.VAL	STR	MASK.VALUE,CONV.BAD	# Mask value of input bad pixels
-MASK.BAD	STR	BLANK		# Mask value to give bad pixels
-MASK.POOR	STR	CONV.POOR	# Mask value to give poor pixels
-POOR.FRACTION	F32	0.1		# Maximum fraction of bad weight for poor pixels
-THRESHOLD.MASK	F32	0.8		# Threshold for mask deconvolution (0..1)
-IMAGE.REJ	F32	0.2		# Rejected pixel fraction threshold for rejecting entire image
-ROWS		S32	64		# Number of rows to read at once
-VARIANCE	BOOL	TRUE		# Use variance in rejection?
-SAFE		BOOL	FALSE		# Play safe when combining small number of values?
-
-RENORM		BOOL	FALSE		# Renormalise variance maps?
-RENORM.MEAN	STR	ROBUST_MEDIAN	# Statistic to use for mean in renormalisation
-RENORM.STDEV	STR	ROBUST_STDEV	# Statistic to use for stdev in renormalisation
-RENORM.WIDTH	S32	300		# Size of renormalisation boxes (pixels)
-
-SOURCE.RADIUS	F32	1.0		# Radius (pixels) for matching sources
-SOURCE.MIN	S32	15		# Minimum number of sources for merging source lists
-SOURCE.ITER	S32	2		# Number of rejection iterations for magnitude difference
-SOURCE.REJ	F32	2.0		# Rejection limit (sigma) for magnitude difference
-
-PSF.INSTANCES	S32	9		# Number of instances for PSF generation
-PSF.RADIUS	F32	20.0		# Radius for PSF generation
-PSF.ORDER	S32	2		# Order of spatial variation for PSF generation
-PSF.MODEL	STR	PS_MODEL_GAUSS	# Model for PSF generation
-
-TEMP.IMAGE	STR	conv.im.fits	# Suffix for convolved images
-TEMP.MASK	STR	conv.mk.fits	# Suffix for convolved masks
-TEMP.VARIANCE	STR	conv.var.fits	# Suffix for convolved variance maps
-TEMP.DELETE	BOOL	FALSE		# Delete temporary files on completion?
-
-PR	METADATA
-	CONVOLVE	BOOL	FALSE
-	IMAGE.REJ	F32	0.5
+ZP.AIRMASS      METADATA                # Airmass terms by filter
+        g.00000       F32     0.0
+        r.00000       F32     0.0
+        i.00000       F32     0.0
+        z.00000       F32     0.0
+        y.00000       F32     0.0
 END
+ZP.TARGET       METADATA	        # Target zero point by filter
+        g.00000       F32     25.0
+        r.00000       F32     25.0
+        i.00000       F32     25.0
+        z.00000       F32     25.0
+        y.00000       F32     25.0
+END
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/psastro.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/psastro.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/psastro.config	(revision 27840)
@@ -17,5 +17,5 @@
 PSASTRO.GRID.NSTAR.MAX S32     800 # max stars accepted for fitting
 
-PSASTRO.MAX.NRAW      S32       200   # max stars accepted for fitting (0 for all)
+PSASTRO.MAX.NRAW      S32      1000   # max stars accepted for fitting (0 for all)
 PSASTRO.MAX.NREF      S32      5000   # max stars accepted for fitting (0 for all)
 
@@ -25,11 +25,7 @@
 # 
 PSASTRO.MIN.INST.MAG.RAW       F32     -17.0   # min instrumental magnitude for stars accepted for fitting
-PSASTRO.MAX.INST.MAG.RAW       F32     -10.0   # max instrumental magnitude for stars accepted for fitting
-
-#
-# PSASTRO.GRID.MIN.ANGLE F32 0.0 # start angle (degrees)
-# PSASTRO.GRID.MAX.ANGLE F32 360.0
-# PSASTRO.GRID.DEL.ANGLE F32  1.0
-PSASTRO.GRID.MIN.ANGLE F32 -0.5 # start angle (degrees)
+PSASTRO.MAX.INST.MAG.RAW       F32      -8.0   # max instrumental magnitude for stars accepted for fitting
+
+PSASTRO.GRID.MIN.ANGLE F32 -1.0 # start angle (degrees)
 PSASTRO.GRID.MAX.ANGLE F32 +0.5
 PSASTRO.GRID.DEL.ANGLE F32  0.5
@@ -38,6 +34,4 @@
 PSASTRO.GRID.MIN.SCALE F32  1.00
 PSASTRO.GRID.MAX.SCALE F32  1.00
-# PSASTRO.GRID.MIN.SCALE F32  0.98
-# PSASTRO.GRID.MAX.SCALE F32  1.021
 PSASTRO.GRID.DEL.SCALE F32  0.01
 
@@ -48,8 +42,11 @@
 PSASTRO.MATCH.RADIUS.N3 F32    20
 PSASTRO.MATCH.RADIUS.N4 F32    20
-PSASTRO.MATCH.RADIUS.N5 F32    20
+PSASTRO.MATCH.RADIUS.N5 F32    10
 PSASTRO.MATCH.RADIUS.N6 F32    10
-PSASTRO.MATCH.RADIUS.N7 F32    10
+PSASTRO.MATCH.RADIUS.N7 F32     5
 PSASTRO.MATCH.FIT.NITER S32     8
+
+# for iterations >= N, require a single match per reference
+PSASTRO.MATCH.UNIQ.ITER S32     4 
 
 # XXX Test for taurus
@@ -71,8 +68,9 @@
 # Mosaic Astrometry options
 PSASTRO.MOSAIC.MODE         BOOL   TRUE
-# PSASTRO.MOSAIC.MAX.ERROR.N0 F32    1.80 # max allow error for valid solution (arcsec)
-# PSASTRO.MOSAIC.MAX.ERROR.N1 F32    1.20 # max allow error for valid solution (arcsec)
-# PSASTRO.MOSAIC.MAX.ERROR.N2 F32    0.80 # max allow error for valid solution (arcsec)
-# PSASTRO.MOSAIC.MAX.ERROR.N3 F32    0.50 # max allow error for valid solution (arcsec)
+
+# for iterations >= N, require a single match per reference
+PSASTRO.MOSAIC.CHIP.NITER     S32      5  # fit clipping iterations (NOTE: last iteration is NITER, not NITER - 1)
+PSASTRO.MOSAIC.CHIP.NSIGMA    F32      3  # fit clipping sigmas
+PSASTRO.MOSAIC.UNIQ.ITER      S32      3  # for iterations >= N, require a single match per reference
 
 PSASTRO.MOSAIC.MAX.ERROR.N0 F32    0.00 # max allow error for valid solution (arcsec)
@@ -80,19 +78,22 @@
 PSASTRO.MOSAIC.MAX.ERROR.N2 F32    0.00 # max allow error for valid solution (arcsec)
 PSASTRO.MOSAIC.MAX.ERROR.N3 F32    0.00 # max allow error for valid solution (arcsec)
-PSASTRO.MOSAIC.MAX.ERROR.N4 F32    5.00 # max allow error for valid solution (arcsec)
-
-# mosaic radius match in pixels
+PSASTRO.MOSAIC.MAX.ERROR.N4 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N5 F32    5.00 # max allow error for valid solution (arcsec)
+
+# mosaic radius match in pixels (do these make sense?)
 PSASTRO.MOSAIC.RADIUS.N0    F32    5
-PSASTRO.MOSAIC.RADIUS.N1    F32    0
-PSASTRO.MOSAIC.RADIUS.N2    F32    0
-PSASTRO.MOSAIC.RADIUS.N3    F32    0
-PSASTRO.MOSAIC.RADIUS.N4    F32    20
+PSASTRO.MOSAIC.RADIUS.N1    F32    10
+PSASTRO.MOSAIC.RADIUS.N2    F32    10
+PSASTRO.MOSAIC.RADIUS.N3    F32    5
+PSASTRO.MOSAIC.RADIUS.N4    F32    3
+PSASTRO.MOSAIC.RADIUS.N5    F32    3
 
 PSASTRO.MOSAIC.CHIP.ORDER     S32      1  # limit chip-fit order to 1
 PSASTRO.MOSAIC.CHIP.ORDER.N0  S32      0 # fit order (-1 means use default)
 PSASTRO.MOSAIC.CHIP.ORDER.N1  S32      0 # fit order (-1 means use default)
-PSASTRO.MOSAIC.CHIP.ORDER.N2  S32      0 # 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      3 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N4  S32      1 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N5  S32      3 # fit order (-1 means use default)
 
 # we need to allow a loose fit if we are fitting to 2mass (50mas internal error -> 100mas limit?)
@@ -114,4 +115,10 @@
 DVO.GETSTAR.MIN.MAG.INST    F32     -15.0
 
+# rather than mean, use specified EDGE:
+ZERO.POINT.USE.MEAN	      	BOOL     FALSE
+ZERO.POINT.EDGE.FRACTION      	F32      0.9
+ZERO.POINT.EDGE.SAMPLE        	S32      25
+ZERO.POINT.EDGE.SAMPLE.FRACTION F32      0.1
+
 PHOTCODE.DATA MULTI
 PHOTCODE.DATA METADATA
@@ -145,4 +152,10 @@
   GHOST_MAX_MAG                   F32 -25.0
 END
+PHOTCODE.DATA METADATA
+  FILTER   STR w
+  ZEROPT   F32 25.1
+  PHOTCODE STR r_SYNTH
+  GHOST_MAX_MAG                   F32 -20.0
+END
 
 REFSTAR_MASK                    BOOL TRUE
@@ -150,10 +163,11 @@
 REFSTAR_MASK_SATSTAR_MAG_MAX    F32 -17.40
 REFSTAR_MASK_SATSTAR_MAG_SLOPE  F32  13.45
-REFSTAR_MASK_SATSTAR_POS_ZERO   F32  -0.779
-
-# Length = SLOPE*(MAG_MAX - InstMag)
-
-REFSTAR_MASK_SATSPIKE_MAG_SLOPE F32  52.00
-REFSTAR_MASK_SATSPIKE_MAG_MAX   F32 -16.20
+REFSTAR_MASK_SATSTAR_POS_ZERO   F32  -0.798
+
+# Length = 10**(SLOPE*(MAG_MAX - InstMag)) - OFFSET
+
+REFSTAR_MASK_SATSPIKE_MAG_SLOPE F32  0.096
+REFSTAR_MASK_SATSPIKE_MAG_MAX   F32  7.35
+REFSTAR_MASK_SATSPIKE_OFFSET    F32 200.0
 
 # pair 1 (longer)
@@ -227,2 +241,6 @@
 END
 
+REFSTAR_MASK_CROSSTALK_MAG_SLOPE F32   3.44
+REFSTAR_MASK_CROSSTALK_MAG_MAX   F32 -14.47
+CROSSTALK_MAX_MAG                F32  20.0
+CROSSTALK_MASK                   BOOL TRUE
Index: branches/simtest_nebulous_branches/ippconfig/gpc1/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/gpc1/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/gpc1/psphot.config	(revision 27840)
@@ -1,56 +1,31 @@
 
-# turn these on to see specific outputs
-SAVE.OUTPUT	BOOL 	TRUE
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
-SAVE.PLOTS     	BOOL    TRUE
+BACKGROUND.XBIN	                    S32   256           # size of background superpixels
+BACKGROUND.YBIN	                    S32   256           # size of background superpixels
 
-# for testing:
-# BREAK_POINT STR BACKMDL
+SOFTEN.VARIANCE                     BOOL  TRUE          # XXX drop? soften the errors for bright pixels
+SOFTEN.VARIANCE.FRACTION            F32   0.005
 
-BACKGROUND.XBIN	    S32  256            # size of background superpixels
-BACKGROUND.YBIN	    S32  256            # size of background superpixels
+PEAKS_SMOOTH_SIGMA                  F32   2.5           # smoothing kernel sigma in pixels
 
-# image background parameters
-IMSTATS_NPIX        S32  10000    	 # number of pixels to use for sky estimate boxes:
-SKY_STAT            STR  FITTED_MEAN_V4  # statistic used to measure background
-SKY_CLIP_SIGMA      F32  2.0             # statistic used to measure background
+PSF_CLUMP_NX                        S32   3             # subdivide image in to NX x NY regions for 
+PSF_CLUMP_NY                        S32   3             # selecting PSF stars
+PSF_CLUMP_GRID_SCALE                F32   2.5		# XXX too large? size of Sx,Sy image pixel
 
-PEAKS_SMOOTH_SIGMA  F32   2.5            # smoothing kernel sigma in pixels
-PEAKS_NMAX          S32   5000           # on first pass, only keep NMAX peaks (0 == all)
-PEAKS_NSIGMA_LIMIT  F32   25.0           # peak significance threshold
-PEAKS_NSIGMA_LIMIT_2 F32   5.0           # peak significance threshold
-
-PSF_SN_LIM          F32  25              # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
-PSF_CLUMP_NX        S32   3               # subdivide image in to NX x NY regions for 
-PSF_CLUMP_NY        S32   3               # selecting PSF stars
-PSF_MOMENTS_RADIUS  F32  12               # calculate initial source moments with this radius
-PSF_CLUMP_GRID_SCALE F32 2.5		# size of Sx,Sy image pixel
-
-PSF.RESIDUALS       BOOL  TRUE            # generate the residuals?
+PSF.RESIDUALS.RADIUS   		    F32   9.0           # keep this pixel if residual is more significant than this
+PSF.RESIDUALS.SPATIAL_ORDER 	    S32   1             # fit spatial variations of the residuals at this order (0,1)
 
 # PSF model parameters : choose the PSF model desired
-PSF_MODEL           STR  PS_MODEL_PS1_V1
-PSPHOT.CR.NSIGMA.SOFTEN             F32   0.0025            # Softening parameter for weights
+PSF_MODEL              	 	    STR   PS_MODEL_PS1_V1
+PSPHOT.CR.NSIGMA.SOFTEN             F32   0.0025        # Softening parameter for weights in CR stat
 
-PSF.TREND.MODE                      STR   MAP # other options: POLY_CHEB, POLY_ORD
 PSF.TREND.NX                        S32   3
 PSF.TREND.NY                        S32   3
 
-EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-FULL_FIT_SN_LIM      F32  25.0
-MOMENTS_SN_MIN      F32    5.0
-AP_MIN_SN            F32   5.0
+# rename NONLINEAR_FIT_SN_LIM?
+FULL_FIT_SN_LIM      		    F32   25.0
 
-OUTPUT.FORMAT        STR  PS1_V2
+APTREND.ORDER.MAX    		    S32   3
 
-PSF_SHAPE_NSIGMA     F32  3.0		 # max significance for shape variation
-PSF_MAX_CHI          F32  50.0		 # reject objects worse that this
-
-MEASURE.APTREND      BOOL TRUE           ### XXX for now, skip this (too many errors)
-APTREND.ORDER.MAX    S32  3
-
-DIAGNOSTIC.PLOTS                    METADATA
+DIAGNOSTIC.PLOTS METADATA
   IMAGE.BACKGROUND.CELL.HISTOGRAM   BOOL  FALSE
   IMAGE.BACKGROUND.CELL.HISTOGRAM.X S32   32
@@ -58,8 +33,13 @@
 END
 
-USE_FOOTPRINTS                      BOOL  TRUE       	  # use new pmFootprint peak packaging
+DIFF METADATA
+  BACKGROUND.XBIN		    S32  32            # size of background superpixels
+  BACKGROUND.YBIN	    	    S32  32            # size of background superpixels
+END
 
-DIFF	METADATA
-	BACKGROUND.XBIN	    S32  32            # size of background superpixels
-	BACKGROUND.YBIN	    S32  32            # size of background superpixels
+# Recipe overrides for PR reduction
+PR	METADATA
+	BACKGROUND.XBIN	      S32   128             # size    	    of background superpixels
+	BACKGROUND.YBIN	         S32   128             # size of background superpixels
+	SKY_STAT         STR   FITTED_MEAN_V4  # statistic used to measure background
 END
Index: branches/simtest_nebulous_branches/ippconfig/isp/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/isp/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/isp/camera.config	(revision 27840)
@@ -4,6 +4,6 @@
 FORMATS         METADATA
         SIMPLE  STR     isp/format.config
-        CMP     STR     isp/cmp.config
-        CMF     STR     isp/cmf.config
+  #      CMP     STR     isp/cmp.config
+  #      CMF     STR     isp/cmf.config
 END
  
@@ -62,4 +62,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD  STR	hdr
Index: branches/simtest_nebulous_branches/ippconfig/isp/format.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/isp/format.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/isp/format.config	(revision 27840)
@@ -4,5 +4,5 @@
 RULE	METADATA
 	SIMPLE		BOOL	TRUE
-	NAXIS		S32	2
+#	NAXIS		S32	2
 	TELESCOP	STR	ISP-1 
 	INSTRUME	STR	ISP-Apogee
@@ -73,4 +73,7 @@
 	CELL.XSIZE	S32	2048
 	CELL.YSIZE	S32	2048
+        FPA.LONGITUDE   STR     10:25:01.417 # West Longitude in Hours 10.4170608521
+        FPA.LATITUDE    STR     20:42:25.558 # North Latitude in Degrees 20.7070999146
+        FPA.ELEVATION   F32     3048.0 # altitude in meters
 	FPA.TIMESYS	STR	UTC
 	CELL.SATURATION	F32	60000
Index: branches/simtest_nebulous_branches/ippconfig/isp/ppImage.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/isp/ppImage.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/isp/ppImage.config	(revision 27840)
@@ -37,5 +37,5 @@
   CHIP.VARIANCE.FITS BOOL   TRUE            # Save chip-mosaic-ed image? 
   OVERSCAN        BOOL    TRUE            # Overscan subtraction
-  BIAS            BOOL    TRUE            # Bias subtraction
+  BIAS            BOOL    FALSE           # Bias subtraction
   DARK            BOOL    TRUE            # Dark subtraction
   SHUTTER         BOOL    TRUE            # Shutter correction
@@ -59,5 +59,5 @@
   CHIP.VARIANCE.FITS BOOL   TRUE            # Save chip-mosaic-ed image? 
   OVERSCAN        BOOL    TRUE            # Overscan subtraction
-  BIAS            BOOL    TRUE            # Bias subtraction
+  BIAS            BOOL    FALSE           # Bias subtraction
   DARK            BOOL    TRUE            # Dark subtraction
   SHUTTER         BOOL    TRUE            # Shutter correction
@@ -81,5 +81,5 @@
   CHIP.VARIANCE.FITS BOOL   TRUE            # Save chip-mosaic-ed image? 
   OVERSCAN        BOOL    TRUE            # Overscan subtraction
-  BIAS            BOOL    TRUE            # Bias subtraction
+  BIAS            BOOL    FALSE           # Bias subtraction
   DARK            BOOL    TRUE            # Dark subtraction
   SHUTTER         BOOL    TRUE            # Shutter correction
@@ -103,5 +103,5 @@
   CHIP.VARIANCE.FITS BOOL   TRUE            # Save chip-mosaic-ed image? 
   OVERSCAN        BOOL    TRUE            # Overscan subtraction
-  BIAS            BOOL    TRUE            # Bias subtraction
+  BIAS            BOOL    FALSE           # Bias subtraction
   DARK            BOOL    TRUE            # Dark subtraction
   SHUTTER         BOOL    TRUE            # Shutter correction
@@ -139,2 +139,486 @@
   ASTROM.MOSAIC   BOOL    FALSE		  # Astrometry for mosaic?
 END
+
+# No operation except rebinning and potential normalisation
+PPIMAGE_N          METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  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
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan subtraction only
+PPIMAGE_O            METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  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
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Bias subtraction only
+PPIMAGE_B          METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  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
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Dark subtraction only
+PPIMAGE_D          METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Dark subtraction only
+PPIMAGE_M          METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Shutter correction only
+PPIMAGE_S          METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    TRUE            # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Flat-fielding only
+PPIMAGE_F          METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Fringe correction only
+PPIMAGE_R          METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Photometry only
+PPIMAGE_P          METADATA
+  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?
+  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
+  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
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Photometry & Astrometry
+PPIMAGE_A          METADATA
+  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?
+  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
+  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
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astromtery per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias
+PPIMAGE_OB         METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  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
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark
+PPIMAGE_OBD        METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE            # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark -- search for DARK_PREMASK
+PPIMAGE_DARKMASK_PROCESS METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE            # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK_PREMASK
+      EXPTIME STR FPA.EXPOSURE
+    END
+  END 
+
+
+END
+
+# Overscan, bias, dark, shutter
+PPIMAGE_OBDS       METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  BIAS               BOOL    FALSE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    FALSE           # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# used for the pre-mask version of flat-field processing
+PPIMAGE_FLATPROC_PREMASK     METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  BIAS               BOOL    FALSE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    FALSE           # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  MASK.SATURATED     BOOL    FALSE           # DO NOT Mask the saturated pixels
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK_PREMASK
+    END
+  END   
+END
+
+# Overscan, bias, dark, shutter, flat-field
+PPIMAGE_OBDSF      METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE            # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+# Overscan, bias, dark, shutter, flat-field -- use FLAT_PREMASK
+PPIMAGE_FLATMASK_PROCESS      METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE            # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK_PREMASK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+  END   
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe
+PPIMAGE_OBDSFR     METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE            # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom
+PPIMAGE_FLATCORR    METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE            # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+
+  DETREND.CONSTRAINTS  METADATA
+    FLAT METADATA
+      DETTYPE STR FLAT_RAW
+    END
+  END   
+END
+
+# generate CTE map image
+PPIMAGE_CTEMAP     METADATA
+  BASE.FITS        BOOL    TRUE            # Save base image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL  FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE            # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  CHECK.CTE        BOOL    TRUE            # measure CTE errors?
+
+  DETREND.CONSTRAINTS  METADATA
+    DARK METADATA
+      DETTYPE STR DARK_PREMASK
+      EXPTIME STR FPA.EXPOSURE
+    END
+    FLAT METADATA
+      DETTYPE STR FLAT_PREMASK
+      FILTER  STR FPA.FILTERID
+    END
+  END   
+END
Index: branches/simtest_nebulous_branches/ippconfig/isp/psastro.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/isp/psastro.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/isp/psastro.config	(revision 27840)
@@ -34,5 +34,36 @@
 PSASTRO.MIN.NSTAR      S32      10   # min fitted stars in solution
 
-MAG_MAX                F32      10
+# Removed to allow ISP registration to work correctly.
+#MAG_MAX                F32      10
 PSASTRO.CATDIR         STR      SYNTH.BRIGHT
 PSASTRO.MATCH.LUMFUNC  BOOL     TRUE
+
+
+PHOTCODE.DATA MULTI  #these are the zeropoints calculated by hand (10 stars)
+PHOTCODE.DATA METADATA
+  FILTER   STR g
+  ZEROPT   F32 19.3
+  PHOTCODE STR g_SYNTH
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR r
+  ZEROPT   F32  19.1
+  PHOTCODE STR r_SYNTH
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR i
+  ZEROPT   F32  18.4
+  PHOTCODE STR i_SYNTH
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR z
+  ZEROPT   F32  17.2
+  PHOTCODE STR z_SYNTH
+END
+
+PHOTCODE.DATA METADATA
+  FILTER   STR y
+  ZEROPT   F32  14.0
+  PHOTCODE STR y_SYNTH
+END
+
Index: branches/simtest_nebulous_branches/ippconfig/isp/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/isp/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/isp/psphot.config	(revision 27840)
@@ -1,76 +1,13 @@
 
 # turn these on to see specific outputs
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.BACKGND	BOOL 	TRUE
-SAVE.BACKSUB	BOOL 	TRUE
-SAVE.RESID	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
 SAVE.PLOTS      BOOL    TRUE
 
-# image statistics parameters
-IMSTATS_NPIX        S32  5000    	 # number of pixels to use for sky estimate boxes:
-SKY_STAT            STR  FITTED_MEAN_V4  # statistic used to measure background
-
-PSF_SN_LIM          F32  30              # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
-
+# PSF model parameters : choose the PSF model
 PSF_MODEL           STR  PS_MODEL_PGAUSS
 
-MOMENTS_SN_MIN      F32   30.0
-MOMENTS_AR_MAX      F32   2.0		 # maximum axial ratio: 1 / AR < (sx / sy) < AR
-
-#EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-#FULL_FIT_SN_LIM      F32  50.0
-#AP_MIN_SN            F32  20.0
+# xxx check this:
 PSF_CLUMP_NSIGMA   F32  3.5             # region of Sx,Sy plane to use for selecting PSF stars
 
-# PSFTREND must be a 2D polynomial
-# the specified values are ignored but define the active components of the polynomial
-PSF.TREND.MASK  METADATA  
-   NORDER_X         S32       3                # number of x orders
-   NORDER_Y         S32       3                # number of y orders
-   VAL_X00_Y00      F64       1                # polynomial coefficient
-
-   VAL_X01_Y00      F64       1                # polynomial coefficient
-   VAL_X00_Y01      F64       1                # polynomial coefficient
-
-   VAL_X02_Y00      F64       1                # polynomial coefficient
-   VAL_X01_Y01      F64       1                # polynomial coefficient
-   VAL_X00_Y02      F64       1                # polynomial coefficient
-
-   VAL_X03_Y00      F64       1                # polynomial coefficient
-   VAL_X02_Y01      F64       1                # polynomial coefficient
-   VAL_X01_Y02      F64       1                # polynomial coefficient
-   VAL_X00_Y03      F64       1                # polynomial coefficient
-   NELEMENTS        S32       10               # number of unmasked components
-END  # folder for 4D polynomial
-
+# XXX set other 2D trends
 PSF.TREND.NX S32 4
 PSF.TREND.NY S32 4
-
-XMIN F32 15
-
-PSF.RESIDUALS       BOOL true
-PSF.RESIDUALS.SPATIAL_ORDER S32 1
-
-BREAK_POINT         STR  ENSEMBLE
-OUTPUT.FORMAT       STR  PS1_DEV_0
-
-PSPHOT.SUMMIT METADATA
- PEAKS_SMOOTH_SIGMA  F32  0.8 	   	 # peak significance threshold
- PEAKS_NSIGMA_LIMIT  F32  50.0 	   	 # peak significance threshold
- PEAKS_NMAX          S32  1000
- SAVE.RESID	BOOL 	FALSE
- PSF_SN_LIM          F32  25              # minimum S/N for stars used for PSF model
- MOMENTS_SN_MIN      F32   25.0
- PSF_MODEL         STR  PS_MODEL_PGAUSS
-END
-
-DIAGNOSTIC.PLOTS		METADATA
-  IMAGE.BACKGROUND.CELL.HISTOGRAM   BOOL FALSE
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.X S32  4
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.Y S32  7
-END
-
-SKY_BIAS F32 0.5
-AP_MIN_SN            F32  30.0
Index: branches/simtest_nebulous_branches/ippconfig/isp/rejections.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/isp/rejections.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/isp/rejections.config	(revision 27840)
@@ -1,2 +1,4 @@
+
+
 
 DARK METADATA
@@ -48,2 +50,3 @@
 END
 
+ITERATION       BOOL    FALSE            # Are iterations permitted?
Index: branches/simtest_nebulous_branches/ippconfig/lbc_red/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/lbc_red/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/lbc_red/camera.config	(revision 27840)
@@ -63,4 +63,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD   STR {CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/lbc_red/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/lbc_red/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/lbc_red/psphot.config	(revision 27840)
@@ -1,42 +1,6 @@
 
 # turn these on to see specific outputs
-SAVE.OUTPUT	BOOL 	TRUE
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
 SAVE.PLOTS     	BOOL    TRUE
-
-BACKGROUND.XBIN	    S32  128            # size of background superpixels
-BACKGROUND.YBIN	    S32  128            # size of background superpixels
-
-# image background parameters
-IMSTATS_NPIX        S32  10000    	 # number of pixels to use for sky estimate boxes:
-SKY_STAT            STR  FITTED_MEAN_V4  # statistic used to measure background
-SKY_CLIP_SIGMA      F32  2.0             # statistic used to measure background
-
-PSF_SN_LIM          F32  100             # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
 
 # PSF model parameters : choose the PSF model desired
 PSF_MODEL           STR  PS_MODEL_QGAUSS
-
-MOMENTS_SN_MIN      F32   30.0
-EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-FULL_FIT_SN_LIM      F32  50.0
-AP_MIN_SN            F32  50.0
-
-# OUTPUT.FORMAT       STR SMPDATA
-OUTPUT.FORMAT       STR PS1_DEV_1
-
-PSF_SHAPE_NSIGMA     F32  3.0		 # max significance for shape variation
-PSF_MAX_CHI          F32  50.0		 # reject objects worse that this
-
-#PSF.TREND.MODE STR MAP
-#PSF.TREND.NX   S32 1
-#PSF.TREND.NY   S32 1
-
-DIAGNOSTIC.PLOTS		METADATA
-  IMAGE.BACKGROUND.CELL.HISTOGRAM   BOOL FALSE
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.X S32 -1
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.Y S32 12
-END
-
Index: branches/simtest_nebulous_branches/ippconfig/lulin/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/lulin/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/lulin/camera.config	(revision 27840)
@@ -63,4 +63,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD   STR {CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/lulin/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/lulin/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/lulin/psphot.config	(revision 27840)
@@ -1,43 +1,6 @@
 
 # turn these on to see specific outputs
-SAVE.OUTPUT	BOOL 	TRUE
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
 SAVE.PLOTS     	BOOL    TRUE
-
-BACKGROUND.XBIN	    S32  128            # size of background superpixels
-BACKGROUND.YBIN	    S32  128            # size of background superpixels
-
-# image background parameters
-IMSTATS_NPIX        S32  10000    	 # number of pixels to use for sky estimate boxes:
-SKY_STAT            STR  FITTED_MEAN_V4  # statistic used to measure background
-SKY_CLIP_SIGMA      F32  2.0             # statistic used to measure background
-
-PSF_SN_LIM          F32  100             # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
 
 # PSF model parameters : choose the PSF model desired
 PSF_MODEL           STR  PS_MODEL_QGAUSS
-
-MOMENTS_SN_MIN      F32   30.0
-EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-FULL_FIT_SN_LIM      F32  50.0
-AP_MIN_SN            F32  50.0
-
-# OUTPUT.FORMAT       STR SMPDATA
-OUTPUT.FORMAT       STR PS1_DEV_1
-
-PSF_SHAPE_NSIGMA     F32  3.0		 # max significance for shape variation
-PSF_MAX_CHI          F32  50.0		 # reject objects worse that this
-
-#PSF.TREND.MODE STR MAP
-#PSF.TREND.NX   S32 1
-#PSF.TREND.NY   S32 1
-
-DIAGNOSTIC.PLOTS		METADATA
-  IMAGE.BACKGROUND.CELL.HISTOGRAM   BOOL FALSE
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.X S32 -1
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.Y S32 12
-END
-
-USE_FOOTPRINTS                      BOOL  TRUE       	  # use new pmFootprint peak packaging
Index: branches/simtest_nebulous_branches/ippconfig/megacam/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/megacam/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/megacam/camera.config	(revision 27840)
@@ -136,4 +136,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD   STR {CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/megacam/ppImage.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/megacam/ppImage.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/megacam/ppImage.config	(revision 27840)
@@ -21,4 +21,6 @@
 # megacam needs fringe subtraction
 FRINGE		BOOL	TRUE		# Fringe subtraction
+
+USE.DEBURNED.IMAGE	BOOL	FALSE  # Skip burntool
 
 # this table lists extra constraints which should be applied when
Index: branches/simtest_nebulous_branches/ippconfig/megacam/psastro.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/megacam/psastro.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/megacam/psastro.config	(revision 27840)
@@ -1,2 +1,5 @@
+
+# save matched stars?
+PSASTRO.SAVE.REFMATCH      BOOL TRUE  # save refstar matches as table in output smf file
 
 # astrometry matching parameters
@@ -40,5 +43,5 @@
 
 PSASTRO.MIN.INST.MAG.RAW       F32      -17.0  # min instrumental magnitude for stars accepted for fitting
-PSASTRO.MAX.INST.MAG.RAW       F32       -8.0  # max instrumental magnitude for stars accepted for fitting
+PSASTRO.MAX.INST.MAG.RAW       F32      -11.0  # max instrumental magnitude for stars accepted for fitting
 
 PSASTRO.MAX.ERROR      F32      10.0 # max error in pixels
@@ -47,11 +50,16 @@
 PSASTRO.MOSAIC.MODE           BOOL     TRUE
 
-PSASTRO.MOSAIC.MAX.ERROR.N0 F32    1.50 # max allow error for valid solution (arcsec)
-PSASTRO.MOSAIC.MAX.ERROR.N1 F32    1.50 # max allow error for valid solution (arcsec)
-PSASTRO.MOSAIC.MAX.ERROR.N2 F32    0.90 # max allow error for valid solution (arcsec)
-PSASTRO.MOSAIC.MAX.ERROR.N3 F32    0.90 # max allow error for valid solution (arcsec)
-PSASTRO.MOSAIC.MAX.ERROR.N4 F32    0.90 # max allow error for valid solution (arcsec)
+# for iterations >= N, require a single match per reference
+PSASTRO.MOSAIC.CHIP.NITER     S32      4  # fit clipping iterations
+PSASTRO.MOSAIC.CHIP.NSIGMA    F32      3  # fit clipping sigmas
+PSASTRO.MOSAIC.UNIQ.ITER      S32      2
 
-PSASTRO.MOSAIC.RADIUS.N0    F32    10.0
+PSASTRO.MOSAIC.MAX.ERROR.N0 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N1 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N2 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N3 F32    0.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N4 F32    2.00 # max allow error for valid solution (arcsec)
+
+PSASTRO.MOSAIC.RADIUS.N0    F32    15.0
 PSASTRO.MOSAIC.RADIUS.N1    F32     8.0 # do not refine the match
 PSASTRO.MOSAIC.RADIUS.N2    F32     8.0 # do not refine the match
@@ -61,5 +69,5 @@
 PSASTRO.MOSAIC.CHIP.ORDER.N0  S32      0 # fit order (-1 means use default)
 PSASTRO.MOSAIC.CHIP.ORDER.N1  S32      0 # fit order (-1 means use default)
-PSASTRO.MOSAIC.CHIP.ORDER.N2  S32      0 # 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      3 # fit order (-1 means use default)
Index: branches/simtest_nebulous_branches/ippconfig/megacam/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/megacam/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/megacam/psphot.config	(revision 27840)
@@ -1,44 +1,10 @@
 
 # turn these on to see specific outputs
-SAVE.OUTPUT	BOOL 	TRUE
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
 SAVE.PLOTS     	BOOL    TRUE
-
-BACKGROUND.XBIN	    S32  128            # size of background superpixels
-BACKGROUND.YBIN	    S32  128            # size of background superpixels
-
-# image background parameters
-IMSTATS_NPIX        S32  10000    	 # number of pixels to use for sky estimate boxes:
-SKY_STAT            STR  FITTED_MEAN_V4  # statistic used to measure background
-SKY_CLIP_SIGMA      F32  2.0             # statistic used to measure background
-
-PSF_SN_LIM          F32  20             # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
 
 # PSF model parameters : choose the PSF model desired
 PSF_MODEL           STR  PS_MODEL_QGAUSS
 
-PSF_MOMENTS_RADIUS  F32   10.0           # calculate initial source moments with this radius
-
-MOMENTS_SN_MIN      F32    2.0
-EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-FULL_FIT_SN_LIM      F32  10.0
-AP_MIN_SN            F32   2.0
-
-PSF_SHAPE_NSIGMA     F32  3.0		 # max significance for shape variation
-PSF_MAX_CHI          F32  50.0		 # reject objects worse that this
-
 PSF.TREND.MODE STR MAP
 PSF.TREND.NX   S32 1
 PSF.TREND.NY   S32 1
-
-DIAGNOSTIC.PLOTS		METADATA
-  IMAGE.BACKGROUND.CELL.HISTOGRAM   BOOL FALSE
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.X S32 -1
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.Y S32 12
-END
-
-USE_FOOTPRINTS                      BOOL  TRUE       	  # use new pmFootprint peak packaging
-
-PEAKS_NSIGMA_LIMIT	F32	10.0
Index: branches/simtest_nebulous_branches/ippconfig/mosaic2/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/mosaic2/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/mosaic2/camera.config	(revision 27840)
@@ -90,4 +90,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD  STR {CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/mosaic2/format.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/mosaic2/format.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/mosaic2/format.config	(revision 27840)
@@ -90,5 +90,5 @@
 	CELL.TIMESYS		STR	UTC		# Header says "UTC approximate"
 	CELL.READDIR		S32	1		# Cell is read in x direction
-	CELL.BAD		S32	0
+	CELL.BAD		S32	-100
 	CELL.YPARITY		S32	1
 	CELL.Y0			S32	0
Index: branches/simtest_nebulous_branches/ippconfig/mosaic2/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/mosaic2/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/mosaic2/psphot.config	(revision 27840)
@@ -1,44 +1,32 @@
 	
-# turn these on to see specific outputs
-SAVE.RESID	BOOL 	TRUE
+IMSTATS_NPIX                         S32   10000    	 # number of pixels to use for sky estimate boxes:
 
-IMSTATS_NPIX        S32  1000    	 # number of pixels to use for sky estimate boxes:
+# robust vs fitted??  gpc1 uses fitted...  robust median gives better background stdev --> test with flat-field photometry
+SKY_STAT                             STR   ROBUST_MEDIAN    # statistic used to measure background
 
-PSF_SN_LIM          F32  20             # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
+PSF_MODEL                            STR   PS_MODEL_QGAUSS
+PSF_MAX_NSTARS                       S32   300              # limit number of stars used for PSF model
 
-# PSF model parameters : choose the PSF model
-# list as many PSF_MODEL options as desired
-# if you want to list multiple entries, uncomment 'MULTI' here
-# PSF_MODEL           MULTI
-PSF_MODEL           STR  PS_MODEL_QGAUSS
-# PSF_MODEL           STR  PS_MODEL_GAUSS
-# PSF_MODEL           STR  PS_MODEL_PGAUSS
-# PSF_MODEL           STR  PS_MODEL_TGAUSS  ## not well tested, not very successful
+# Mosaic 2 has substantial IQ variations in the y-direction
+PSF_CLUMP_NX                         S32   1               # subdivide image in to NX x NY regions for 
+PSF_CLUMP_NY                         S32   3               # selecting PSF stars
 
-MOMENTS_SN_MIN       F32  10.0           # min S/N to measure moments
-EXT_MIN_SN           F32  20.0           # fit galaxies above this S/N limit
-FULL_FIT_SN_LIM      F32  20.0
-AP_MIN_SN            F32  25.0
+# Mosaic 2 has substantial IQ variations in the y-direction
+PSF.TREND.NX                         S32   1
+PSF.TREND.NY                         S32   3
 
-USE_FOOTPRINTS                      BOOL  TRUE       	  # use new pmFootprint peak packaging
+PEAKS_NSIGMA_LIMIT                   F32   15.0            # peak significance threshold
+FOOTPRINT_NSIGMA_LIMIT               F32   14.0      	  # threshold for bright pmFootprint detection
 
-## gene's overrides for testing:
-PEAKS_NSIGMA_LIMIT_2 F32  10.0 	   	 # peak significance threshold
+PSF_SN_LIM                           F32   20.0            # minimum S/N for stars used for PSF model
+FULL_FIT_SN_LIM                      F32   10.0
+EXT_MIN_SN                           F32   10.0           # fit galaxies above this S/N limit
 
-EXT_MODEL           STR  PS_MODEL_QGAUSS
+EXT_MODEL                            STR   PS_MODEL_QGAUSS
 
-TEST_FIT            BOOL FALSE
-TEST_FIT_X          F32  781
-TEST_FIT_Y          F32  830
+EXTENDED_SOURCE_SN_LIM               F32   3.0
+#EXTENDED_SOURCE_ANALYSIS            BOOL  TRUE  # perform any of the aperture-like measurements?
+#EXTENDED_SOURCE_PETROSIAN           BOOL  TRUE
 
-TEST_FIT_MODE       STR  CONV
-#TEST_FIT_MODE       STR PSF
-#TEST_FIT_MODE       STR  EXT
-
-#TEST_FIT_MODEL      STR  PS_MODEL_SERSIC
-TEST_FIT_MODEL      STR  PS_MODEL_QGAUSS
-TEST_MOMENTS_RADIUS F32 9.0
-OUTPUT.FORMAT       STR PS1_DEV_1
-
-PSF_MOMENTS_RADIUS  F32    7               # calculate initial source moments with this radius
+# 3 to match PSF and Moments 2D variations
+APTREND.ORDER.MAX                    S32   3
Index: branches/simtest_nebulous_branches/ippconfig/recipes/Makefile.am
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/Makefile.am	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/Makefile.am	(revision 27840)
@@ -12,7 +12,9 @@
 	reductionClasses.mdc \
 	rejections.config \
+	dqStatsTool.config \
 	ppImage.config \
 	ppMerge.config \
 	ppStack.config \
+	ppSmooth.config \
 	ppStats.config \
 	psastro.config \
@@ -26,5 +28,7 @@
         ppStatsFromMetadata.config \
 	ppNoiseMap.config \
-	ppSkycell.config
+	ppSkycell.config \
+	ppVizPSF.mdc \
+	nightly_science.config
 
 install_DATA = $(install_files)
Index: branches/simtest_nebulous_branches/ippconfig/recipes/addstar.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/addstar.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/addstar.config	(revision 27840)
@@ -1,12 +1,14 @@
 # configurable options for addstar
+# the IMAGES.ONLY option has been deprecated: set it when defining an addstar run with addtool -image-only
+# it is not clear we still need an addstar recipe.
 
-IMAGES.ONLY  BOOL  TRUE
+# IMAGES.ONLY  BOOL  TRUE
 
-FLATCORR METADATA
-    # IMAGES.ONLY  BOOL  FALSE
-    IMAGES.ONLY  BOOL  TRUE
-END
-
-ADDSTAR	METADATA
-    IMAGES.ONLY  BOOL  TRUE
-END
+# FLATCORR METADATA
+#     # IMAGES.ONLY  BOOL  FALSE
+#     IMAGES.ONLY  BOOL  TRUE
+# END
+# 
+# ADDSTAR	METADATA
+#     IMAGES.ONLY  BOOL  TRUE
+# END
Index: branches/simtest_nebulous_branches/ippconfig/recipes/dqStatsTool.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/dqStatsTool.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/dqStatsTool.config	(revision 27840)
@@ -0,0 +1,74 @@
+BUNDLE_SIZE	S32	1000       # Number of exposures to bundle together
+# BUNDLE_AGE      ?      "2 hours"? # I'd like this to be a way to tell if we can just skip ahead, since the bundle is "old" Don't know how, though.
+
+DECISION.ENGINE METADATA           # Definition of the rules to determine if a given exposure is good or not.
+    RULE MULTI
+    RULE METADATA
+        COLNAME STR FWHM_MAJOR
+	MINIMUM F32 0.0
+	MAXIMUM F32 5.0
+    END
+    RULE METADATA
+    	COLNAME STR FWHM_MINOR
+	MINIMUM F32 0.0
+	MAXIMUM F32 5.0
+    END
+#    TYPE VAL COLNAME      MINIMUM        MAXIMUM
+#    RULE VAL FWHM_MAJOR   0.0            5.0
+#    RULE VAL FWHM_MINOR   0.0            5.0
+END
+
+STATS.COLUMNS METADATA             # Column definitions for what goes into a bundle
+    COLUMN MULTI
+    TYPE   VAL TABLE            ENTRY             DATATYPE       COLNAME
+    COLUMN VAL rawExp           exp_name          PS_DATA_STRING EXPNAME             # Exposure name
+    COLUMN VAL rawExp           dateobs           PS_DATA_TIME   DATEOBS             # Date of observation
+    COLUMN VAL rawExp           filter            PS_DATA_STRING FILTER              # Filter used
+    COLUMN VAL rawExp           comment           PS_DATA_STRING COMMENT             # Obs comment
+    COLUMN VAL rawExp           ra  	          PS_DATA_F64 	 RA                  # Right ascension
+    COLUMN VAL rawExp           decl 	          PS_DATA_F64    DEC                 # Declination
+    COLUMN VAL rawExp           exp_time          PS_DATA_F32    EXPTIME	     # Exposure time
+
+    COLUMN VAL camProcessedExp  zpt_obs           PS_DATA_F32    ZEROPOINT	     
+    COLUMN VAL camProcessedExp  zpt_stdev         PS_DATA_F32    ZEROPOINT_STDEV     
+    COLUMN VAL camProcessedExp  zpt_lq            PS_DATA_F32    ZEROPOINT_LQ	     
+    COLUMN VAL camProcessedExp  zpt_uq            PS_DATA_F32    ZEROPOINT_UQ	     
+
+    COLUMN VAL camProcessedExp  fwhm_major        PS_DATA_F32    FWHM_MAJOR	     
+    COLUMN VAL camProcessedExp  fwhm_major_lq     PS_DATA_F32    FWHM_MAJOR_LQ	     
+    COLUMN VAL camProcessedExp  fwhm_major_uq     PS_DATA_F32    FWHM_MAJOR_UQ	     
+    COLUMN VAL camProcessedExp  fwhm_minor        PS_DATA_F32    FWHM_MINOR	     
+    COLUMN VAL camProcessedExp  fwhm_minor_lq     PS_DATA_F32    FWHM_MINOR_LQ	     
+    COLUMN VAL camProcessedExp  fwhm_minor_uq     PS_DATA_F32    FWHM_MINOR_UQ	     
+
+    COLUMN VAL camProcessedExp  iq_fwhm_major     PS_DATA_F32    IQ_FWHM_MAJOR	     
+    COLUMN VAL camProcessedExp  iq_fwhm_major_err PS_DATA_F32    IQ_FWHM_MAJOR_ERR   
+    COLUMN VAL camProcessedExp  iq_fwhm_minor     PS_DATA_F32    IQ_FWHM_MINOR	     
+    COLUMN VAL camProcessedExp  iq_fwhm_minor_err PS_DATA_F32    IQ_FWHM_MINOR_ERR   
+
+    COLUMN VAL camProcessedExp  iq_m2             PS_DATA_F32    IQ_M2		     
+    COLUMN VAL camProcessedExp  iq_m2_err         PS_DATA_F32    IQ_M2_ERR	     
+    COLUMN VAL camProcessedExp  iq_m2_lq          PS_DATA_F32    IQ_M2_LQ	     
+    COLUMN VAL camProcessedExp  iq_m2_uq          PS_DATA_F32    IQ_M2_UQ	     
+
+    COLUMN VAL camProcessedExp  iq_m2c            PS_DATA_F32    IQ_M2C		     
+    COLUMN VAL camProcessedExp  iq_m2c_err        PS_DATA_F32    IQ_M2C_ERR	     
+    COLUMN VAL camProcessedExp  iq_m2c_lq         PS_DATA_F32    IQ_M2C_LQ	     
+    COLUMN VAL camProcessedExp  iq_m2c_uq         PS_DATA_F32    IQ_M2C_UQ	     
+
+    COLUMN VAL camProcessedExp  iq_m2s            PS_DATA_F32    IQ_M2S		     
+    COLUMN VAL camProcessedExp  iq_m2s_err        PS_DATA_F32    IQ_M2S_ERR	     
+    COLUMN VAL camProcessedExp  iq_m2s_lq         PS_DATA_F32    IQ_M2S_LQ	     
+    COLUMN VAL camProcessedExp  iq_m2s_uq         PS_DATA_F32    IQ_M2S_UQ	     
+
+    COLUMN VAL camProcessedExp  iq_m3             PS_DATA_F32    IQ_M3		     
+    COLUMN VAL camProcessedExp  iq_m3_err         PS_DATA_F32    IQ_M3_ERR	     
+    COLUMN VAL camProcessedExp  iq_m3_lq          PS_DATA_F32    IQ_M3_LQ	     
+    COLUMN VAL camProcessedExp  iq_m3_uq          PS_DATA_F32    IQ_M3_UQ	     
+
+    COLUMN VAL camProcessedExp  iq_m4             PS_DATA_F32    IQ_M4		     
+    COLUMN VAL camProcessedExp  iq_m4_err         PS_DATA_F32    IQ_M4_ERR	     
+    COLUMN VAL camProcessedExp  iq_m4_lq          PS_DATA_F32    IQ_M4_LQ	     
+    COLUMN VAL camProcessedExp  iq_m4_uq          PS_DATA_F32    IQ_M4_UQ	     
+END
+
Index: branches/simtest_nebulous_branches/ippconfig/recipes/filerules-mef.mdc
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/filerules-mef.mdc	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/filerules-mef.mdc	(revision 27840)
@@ -82,4 +82,5 @@
 PSPHOT.PSF.LOAD         INPUT    @FILES        CHIP       PSF       
 PSPHOT.INPUT.CMF        INPUT    @FILES        CHIP       CMF       
+PSPHOT.INPUT.TEXT       INPUT    @FILES        CHIP       SRCTEXT       
 
 ## files used by psastro 
@@ -110,4 +111,5 @@
 PPSUB.REF.VARIANCE      INPUT    @FILES        FPA        VARIANCE
 PPSUB.REF.SOURCES       INPUT    @FILES        FPA        CMF
+PPSUB.INPUT.KERNEL      INPUT    @FILES        FPA        SUBKERNEL
 
 ## files used by ppstack
@@ -139,4 +141,13 @@
 CENSOR.INPUT       	INPUT    @FILES        CHIP       CMF
 CENSOR.INPUT.MASK       INPUT    @FILES        CHIP       MASK
+
+## Files used by ppSmooth
+PPSMOOTH.INPUT          INPUT    @FILES        CHIP       IMAGE
+PPSMOOTH.INPUT.MASK     INPUT    @FILES        CHIP       MASK
+PPSMOOTH.INPUT.VARIANCE INPUT    @FILES        CHIP       VARIANCE
+
+## Files used by ppbgrestore
+PPBGRESTORE.INPUT       INPUT    @FILES        CHIP       IMAGE
+PPBGRESTORE.BACKMDL     INPUT    @FILES        CHIP       IMAGE
 
 ### output file definitions
@@ -149,6 +160,6 @@
 PPIMAGE.OUT.WT.SPL      OUTPUT {OUTPUT}.{CHIP.NAME}.wt.fits      VARIANCE  NONE       CHIP       TRUE      SPLIT
 PPIMAGE.OUTPUT.DETMASK  OUTPUT {OUTPUT}.fits                     IMAGE     MASK       CHIP       TRUE      MEF
-PPIMAGE.OUTPUT.DETREND  OUTPUT {OUTPUT}.fits                     IMAGE     COMP_DET   CHIP       TRUE      MEF
-PPIMAGE.OUTPUT.RESID    OUTPUT {OUTPUT}.b0.fits                  IMAGE     COMP_SUB   CHIP       TRUE      MEF
+PPIMAGE.OUTPUT.DETREND  OUTPUT {OUTPUT}.fits                     IMAGE     NONE       CHIP       TRUE      MEF
+PPIMAGE.OUTPUT.RESID    OUTPUT {OUTPUT}.b0.fits                  IMAGE     NONE       CHIP       TRUE      MEF
 PPIMAGE.CONFIG          OUTPUT {OUTPUT}.{CHIP.NAME}.ppImage.mdc  TEXT      NONE       CHIP       TRUE      NONE
                                                                                              
@@ -206,4 +217,10 @@
 PSPHOT.PSF.SKY.SAVE     OUTPUT {OUTPUT}.psf                      PSF       NONE       CHIP       TRUE      MEF
                                                                                      
+# outputs for psphotStack:
+PSPHOT.CHISQ.IMAGE      OUTPUT {OUTPUT}.{CHIP.NAME}.chisq.im.fits IMAGE    NONE       FPA        TRUE      SIMPLE
+PSPHOT.CHISQ.MASK       OUTPUT {OUTPUT}.{CHIP.NAME}.chisq.mk.fits MASK     NONE       FPA        TRUE      SIMPLE
+PSPHOT.CHISQ.VARIANCE   OUTPUT {OUTPUT}.{CHIP.NAME}.chisq.wt.fits VARIANCE NONE       FPA        TRUE      SIMPLE
+PSPHOT.STACK.OUTPUT     OUTPUT {OUTPUT}.{CHIP.NAME}.{FILE.ID}.cmf CMF      NONE       FPA        TRUE      NONE
+                                                     
 SOURCE.PLOT.MOMENTS     OUTPUT {OUTPUT}.mnt.png                  KAPA      NONE       FPA        TRUE      NONE
 SOURCE.PLOT.PSFMODEL    OUTPUT {OUTPUT}.psf.png                  KAPA      NONE       FPA        TRUE      NONE
@@ -237,4 +254,5 @@
 PPSUB.OUTPUT.JPEG1      OUTPUT {OUTPUT}.b1.jpg                   JPEG      NONE       FPA        TRUE      NONE
 PPSUB.OUTPUT.JPEG2      OUTPUT {OUTPUT}.b2.jpg                   JPEG      NONE       FPA        TRUE      NONE
+PPSUB.OUTPUT.RESID.JPEG OUTPUT {OUTPUT}.res.jpg                  JPEG      NONE       FPA        TRUE      NONE
 PPSUB.INVERSE           OUTPUT {OUTPUT}.inv.fits                 IMAGE     COMP_SUB   FPA        TRUE      NONE
 PPSUB.INVERSE.MASK      OUTPUT {OUTPUT}.inv.mask.fits            MASK      COMP_MASK  FPA        TRUE      NONE
@@ -242,8 +260,8 @@
 PPSUB.INVERSE.SOURCES   OUTPUT {OUTPUT}.inv.cmf                  CMF       NONE       FPA        TRUE      NONE
 PPSUB.CONFIG            OUTPUT {OUTPUT}.ppSub.mdc                TEXT      NONE       FPA        TRUE      NONE
-PPSUB.INPUT.CONV        OUTPUT {OUTPUT}.inConv.fits              IMAGE     COMP_SUB   FPA        TRUE      NONE
+PPSUB.INPUT.CONV        OUTPUT {OUTPUT}.inConv.fits              IMAGE     COMP_IMG   FPA        TRUE      NONE
 PPSUB.INPUT.CONV.MASK   OUTPUT {OUTPUT}.inConv.mk.fits           MASK      COMP_MASK  FPA        TRUE      NONE
 PPSUB.INPUT.CONV.VARIANCE OUTPUT {OUTPUT}.inConv.wt.fits         VARIANCE  COMP_WT    FPA        TRUE      NONE
-PPSUB.REF.CONV        	OUTPUT {OUTPUT}.refConv.fits             IMAGE     COMP_SUB   FPA        TRUE      NONE
+PPSUB.REF.CONV        	OUTPUT {OUTPUT}.refConv.fits             IMAGE     COMP_IMG   FPA        TRUE      NONE
 PPSUB.REF.CONV.MASK   	OUTPUT {OUTPUT}.refConv.mk.fits          MASK      COMP_MASK  FPA        TRUE      NONE
 PPSUB.REF.CONV.VARIANCE	OUTPUT {OUTPUT}.refConv.wt.fits          VARIANCE  COMP_WT    FPA        TRUE      NONE
@@ -253,4 +271,13 @@
 PPSTACK.OUTPUT.MASK     OUTPUT {OUTPUT}.mk.fits                  MASK      COMP_MASK  FPA        TRUE      NONE
 PPSTACK.OUTPUT.VARIANCE OUTPUT {OUTPUT}.wt.fits                  VARIANCE  COMP_WT    FPA        TRUE      NONE
+PPSTACK.OUTPUT.EXP	OUTPUT {OUTPUT}.exp.fits     		 IMAGE     EXP	      FPA	 TRUE      NONE
+PPSTACK.OUTPUT.EXPNUM	OUTPUT {OUTPUT}.num.fits     		 MASK      EXPNUM     FPA	 TRUE      NONE
+PPSTACK.OUTPUT.EXPWT	OUTPUT {OUTPUT}.expwt.fits               VARIANCE  EXP	      FPA	 TRUE      NONE
+PPSTACK.UNCONV          OUTPUT {OUTPUT}.unconv.fits              IMAGE     COMP_IMG   FPA        TRUE      NONE
+PPSTACK.UNCONV.MASK     OUTPUT {OUTPUT}.unconv.mask.fits         MASK      COMP_MASK  FPA        TRUE      NONE
+PPSTACK.UNCONV.VARIANCE OUTPUT {OUTPUT}.unconv.wt.fits           VARIANCE  COMP_WT    FPA        TRUE      NONE
+PPSTACK.UNCONV.EXP	OUTPUT {OUTPUT}.unconv.exp.fits 	 IMAGE     EXP	      FPA	 TRUE      NONE
+PPSTACK.UNCONV.EXPNUM	OUTPUT {OUTPUT}.unconv.num.fits 	 MASK  	   EXPNUM     FPA	 TRUE      NONE
+PPSTACK.UNCONV.EXPWT	OUTPUT {OUTPUT}.unconv.expwt.fits        VARIANCE  EXP	      FPA	 TRUE      NONE
 PPSTACK.TARGET.PSF      OUTPUT {OUTPUT}.target.psf               PSF       NONE       CHIP       TRUE      NONE
 PPSTACK.CONV.KERNEL     OUTPUT {OUTPUT}.{FILE.INDEX}.kernel      SUBKERNEL NONE       FPA        TRUE      NONE
@@ -288,2 +315,12 @@
 CENSOR.OUTPUT           OUTPUT {OUTPUT}.smf                      CMF       NONE       FPA        TRUE      MEF
 
+MAGIC.ORIGINAL.PNG      OUTPUT {OUTPUT}_original.png             JPEG      NONE       FPA        TRUE      NONE
+MAGIC.RESIDUAL.PNG      OUTPUT {OUTPUT}_residual.png             JPEG      NONE       FPA        TRUE      NONE
+MAGIC.MASK.PNG          OUTPUT {OUTPUT}_mask.png                 JPEG      NONE       FPA        TRUE      NONE
+MAGIC.DUPLICATE.PNG     OUTPUT {OUTPUT}_duplicate.png            JPEG      NONE       FPA        TRUE      NONE
+
+PPSMOOTH.OUTPUT          OUTPUT {OUTPUT}.{CHIP.NAME}.fits        IMAGE     NONE       CHIP       TRUE      MEF
+PPSMOOTH.OUTPUT.MASK     OUTPUT {OUTPUT}.{CHIP.NAME}.mk.fits     MASK      NONE       CHIP       TRUE      MEF
+PPSMOOTH.OUTPUT.VARIANCE OUTPUT {OUTPUT}.{CHIP.NAME}.wt.fits     VARIANCE  NONE       CHIP       TRUE      MEF
+
+PPBGRESTORE.OUTPUT      OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     COMP_IMG   CHIP       TRUE      NONE
Index: branches/simtest_nebulous_branches/ippconfig/recipes/filerules-simple.mdc
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/filerules-simple.mdc	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/filerules-simple.mdc	(revision 27840)
@@ -45,4 +45,5 @@
 PSPHOT.PSF.LOAD         INPUT    @FILES        CHIP       PSF       
 PSPHOT.INPUT.CMF        INPUT    @FILES        CHIP       CMF       
+PSPHOT.INPUT.TEXT       INPUT    @FILES        CHIP       SRCTEXT       
 
 ## files used by psastro 
@@ -73,4 +74,5 @@
 PPSUB.REF.VARIANCE      INPUT    @FILES        FPA        VARIANCE
 PPSUB.REF.SOURCES       INPUT    @FILES        FPA        CMF
+PPSUB.INPUT.KERNEL      INPUT    @FILES        FPA        SUBKERNEL
 
 ## files used by ppstack
@@ -102,4 +104,13 @@
 CENSOR.INPUT       	INPUT    @FILES        CHIP       CMF
 CENSOR.INPUT.MASK       INPUT    @FILES        CHIP       MASK
+
+## Files used by ppSmooth
+PPSMOOTH.INPUT          INPUT    @FILES        CHIP       IMAGE
+PPSMOOTH.INPUT.MASK     INPUT    @FILES        CHIP       MASK
+PPSMOOTH.INPUT.VARIANCE INPUT    @FILES        CHIP       VARIANCE
+
+## Files used by ppbgrestore
+PPBGRESTORE.INPUT       INPUT    @FILES        FPA        IMAGE
+PPBGRESTORE.BACKMDL     INPUT    @FILES        FPA        IMAGE
 
 ### output file definitions
@@ -156,4 +167,10 @@
 PSPHOT.PSF.RAW.SAVE     OUTPUT {OUTPUT}.psf          PSF       NONE       FPA        TRUE      NONE
 PSPHOT.PSF.SKY.SAVE     OUTPUT {OUTPUT}.psf          PSF       NONE       FPA        TRUE      NONE
+
+# outputs for psphotStack:
+PSPHOT.CHISQ.IMAGE      OUTPUT {OUTPUT}.chisq.im.fits IMAGE    NONE       FPA        TRUE      SIMPLE
+PSPHOT.CHISQ.MASK       OUTPUT {OUTPUT}.chisq.mk.fits MASK     NONE       FPA        TRUE      SIMPLE
+PSPHOT.CHISQ.VARIANCE   OUTPUT {OUTPUT}.chisq.wt.fits VARIANCE NONE       FPA        TRUE      SIMPLE
+PSPHOT.STACK.OUTPUT     OUTPUT {OUTPUT}.{FILE.ID}.cmf CMF      NONE       FPA        TRUE      NONE
                                                      
 SOURCE.PLOT.MOMENTS     OUTPUT {OUTPUT}.mnt.png      KAPA      NONE       FPA        TRUE      NONE
@@ -187,4 +204,5 @@
 PPSUB.OUTPUT.JPEG1      OUTPUT {OUTPUT}.b1.jpg       JPEG      NONE       FPA        TRUE      NONE
 PPSUB.OUTPUT.JPEG2      OUTPUT {OUTPUT}.b2.jpg       JPEG      NONE       FPA        TRUE      NONE
+PPSUB.OUTPUT.RESID.JPEG OUTPUT {OUTPUT}.res.jpg      JPEG      NONE       FPA        TRUE      NONE
 PPSUB.INVERSE           OUTPUT {OUTPUT}.inv.fits     IMAGE     NONE       FPA        TRUE      NONE
 PPSUB.INVERSE.MASK      OUTPUT {OUTPUT}.inv.mask.fits MASK     NONE       FPA        TRUE      NONE
@@ -192,14 +210,23 @@
 PPSUB.INVERSE.SOURCES   OUTPUT {OUTPUT}.inv.cmf      CMF       NONE       FPA        TRUE      NONE
 PPSUB.CONFIG            OUTPUT {OUTPUT}.ppSub.mdc    TEXT      NONE       FPA        TRUE      NONE
-PPSUB.INPUT.CONV        OUTPUT {OUTPUT}.inConv.fits     IMAGE  COMP_SUB   FPA        TRUE      NONE
-PPSUB.INPUT.CONV.MASK   OUTPUT {OUTPUT}.inConv.mk.fits  MASK   COMP_MASK  FPA        TRUE      NONE
-PPSUB.INPUT.CONV.VARIANCE OUTPUT {OUTPUT}.inConv.wt.fits VARIANCE COMP_WT FPA        TRUE      NONE
-PPSUB.REF.CONV        	OUTPUT {OUTPUT}.refConv.fits    IMAGE  COMP_SUB   FPA        TRUE      NONE
-PPSUB.REF.CONV.MASK   	OUTPUT {OUTPUT}.refConv.mk.fits MASK   COMP_MASK  FPA        TRUE      NONE
-PPSUB.REF.CONV.VARIANCE OUTPUT {OUTPUT}.refConv.wt.fits VARIANCE COMP_WT  FPA        TRUE      NONE
+PPSUB.INPUT.CONV        OUTPUT {OUTPUT}.inConv.fits     IMAGE  NONE       FPA        TRUE      NONE
+PPSUB.INPUT.CONV.MASK   OUTPUT {OUTPUT}.inConv.mk.fits  MASK   NONE       FPA        TRUE      NONE
+PPSUB.INPUT.CONV.VARIANCE OUTPUT {OUTPUT}.inConv.wt.fits VARIANCE NONE    FPA        TRUE      NONE
+PPSUB.REF.CONV        	OUTPUT {OUTPUT}.refConv.fits    IMAGE  NONE       FPA        TRUE      NONE
+PPSUB.REF.CONV.MASK   	OUTPUT {OUTPUT}.refConv.mk.fits MASK   NONE       FPA        TRUE      NONE
+PPSUB.REF.CONV.VARIANCE OUTPUT {OUTPUT}.refConv.wt.fits VARIANCE NONE     FPA        TRUE      NONE
 					     
-PPSTACK.OUTPUT          OUTPUT {OUTPUT}.fits         IMAGE     NONE       FPA        TRUE      NONE
-PPSTACK.OUTPUT.MASK     OUTPUT {OUTPUT}.mask.fits    MASK      NONE       FPA        TRUE      NONE
-PPSTACK.OUTPUT.VARIANCE OUTPUT {OUTPUT}.weight.fits  VARIANCE  NONE       FPA        TRUE      NONE
+PPSTACK.OUTPUT          OUTPUT {OUTPUT}.fits         IMAGE     COMP_IMG   FPA        TRUE      NONE
+PPSTACK.OUTPUT.MASK     OUTPUT {OUTPUT}.mask.fits    MASK      COMP_MASK  FPA        TRUE      NONE
+PPSTACK.OUTPUT.VARIANCE OUTPUT {OUTPUT}.weight.fits  VARIANCE  COMP_WT    FPA        TRUE      NONE
+PPSTACK.OUTPUT.EXP	OUTPUT {OUTPUT}.exp.fits     IMAGE     EXP	  FPA	     TRUE      NONE
+PPSTACK.OUTPUT.EXPNUM	OUTPUT {OUTPUT}.num.fits     MASK      EXPNUM	  FPA	     TRUE      NONE
+PPSTACK.OUTPUT.EXPWT	OUTPUT {OUTPUT}.expwt.fits   VARIANCE  EXP	  FPA	     TRUE      NONE
+PPSTACK.UNCONV          OUTPUT {OUTPUT}.unconv.fits  IMAGE     COMP_IMG   FPA        TRUE      NONE
+PPSTACK.UNCONV.MASK     OUTPUT {OUTPUT}.unconv.mask.fits MASK  COMP_MASK  FPA        TRUE      NONE
+PPSTACK.UNCONV.VARIANCE OUTPUT {OUTPUT}.unconv.wt.fits VARIANCE COMP_WT   FPA        TRUE      NONE
+PPSTACK.UNCONV.EXP	OUTPUT {OUTPUT}.unconv.exp.fits IMAGE  EXP	  FPA	     TRUE      NONE
+PPSTACK.UNCONV.EXPNUM	OUTPUT {OUTPUT}.unconv.num.fits MASK   EXPNUM	  FPA	     TRUE      NONE
+PPSTACK.UNCONV.EXPWT	OUTPUT {OUTPUT}.unconv.expwt.fits VARIANCE EXP	  FPA	     TRUE      NONE
 PPSTACK.TARGET.PSF      OUTPUT {OUTPUT}.target.psf   PSF       NONE       CHIP       TRUE      NONE
 PPSTACK.CONV.KERNEL     OUTPUT {OUTPUT}.{FILE.INDEX}.kernel SUBKERNEL NONE FPA       TRUE      NONE
@@ -235,2 +262,13 @@
 
 CENSOR.OUTPUT           OUTPUT {OUTPUT}.smf          CMF       NONE       FPA        TRUE      MEF
+
+MAGIC.ORIGINAL.PNG      OUTPUT {OUTPUT}_original.png             JPEG      NONE       FPA        TRUE      NONE
+MAGIC.RESIDUAL.PNG      OUTPUT {OUTPUT}_residual.png             JPEG      NONE       FPA        TRUE      NONE
+MAGIC.MASK.PNG          OUTPUT {OUTPUT}_mask.png                 JPEG      NONE       FPA        TRUE      NONE
+MAGIC.DUPLICATE.PNG     OUTPUT {OUTPUT}_duplicate.png            JPEG      NONE       FPA        TRUE      NONE
+
+PPSMOOTH.OUTPUT          OUTPUT {OUTPUT}.fits        IMAGE     NONE       FPA        TRUE      SIMPLE
+PPSMOOTH.OUTPUT.MASK     OUTPUT {OUTPUT}.mk.fits     MASK      NONE       FPA        TRUE      SIMPLE
+PPSMOOTH.OUTPUT.VARIANCE OUTPUT {OUTPUT}.wt.fits     VARIANCE  NONE       FPA        TRUE      SIMPLE
+
+PPBGRESTORE.OUTPUT      OUTPUT {OUTPUT}.fits         IMAGE     NONE       FPA        TRUE      NONE
Index: branches/simtest_nebulous_branches/ippconfig/recipes/filerules-split.mdc
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/filerules-split.mdc	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/filerules-split.mdc	(revision 27840)
@@ -55,4 +55,5 @@
 PSPHOT.PSF.LOAD         INPUT    @FILES        CHIP       PSF       
 PSPHOT.INPUT.CMF        INPUT    @FILES        CHIP       CMF       
+PSPHOT.INPUT.TEXT       INPUT    @FILES        CHIP       SRCTEXT       
 
 ## files used by psastro 
@@ -83,4 +84,5 @@
 PPSUB.REF.VARIANCE      INPUT    @FILES        FPA        VARIANCE
 PPSUB.REF.SOURCES    	INPUT 	 @FILES        FPA        CMF
+PPSUB.INPUT.KERNEL      INPUT    @FILES        FPA        SUBKERNEL
 
 ## files used by ppstack
@@ -113,4 +115,15 @@
 CENSOR.INPUT.MASK       INPUT    @FILES        CHIP       MASK
 
+## Files used by ppSmooth
+PPSMOOTH.INPUT          INPUT    @FILES        CHIP       IMAGE
+PPSMOOTH.INPUT.MASK     INPUT    @FILES        CHIP       MASK
+PPSMOOTH.INPUT.VARIANCE INPUT    @FILES        CHIP       VARIANCE
+
+## Files used by ppbgrestore
+PPBGRESTORE.INPUT       INPUT    @FILES        CHIP       IMAGE
+PPBGRESTORE.BACKMDL     INPUT    @FILES        CHIP       IMAGE
+
+PPVIZPATTERN.INPUT	INPUT	 @FILES	       CHIP	  PATTERN
+
 ### output file definitions
 TYPE                    OUTPUT FILENAME.RULE                     FILE.TYPE FITS.TYPE  DATA.LEVEL FILE.SAVE FILE.FORMAT
@@ -119,6 +132,6 @@
 PPIMAGE.OUTPUT.VARIANCE OUTPUT {OUTPUT}.{CHIP.NAME}.wt.fits      VARIANCE  COMP_WT    CHIP       TRUE      NONE
 PPIMAGE.OUTPUT.DETMASK  OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     DET_MASK   CHIP       TRUE      NONE
-PPIMAGE.OUTPUT.DETREND  OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     COMP_DET   CHIP       TRUE      NONE
-PPIMAGE.OUTPUT.RESID    OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     COMP_SUB   CHIP       TRUE      NONE
+PPIMAGE.OUTPUT.DETREND  OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     NONE       CHIP       TRUE      NONE
+PPIMAGE.OUTPUT.RESID    OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     NONE       CHIP       TRUE      NONE
 PPIMAGE.CONFIG          OUTPUT {OUTPUT}.{CHIP.NAME}.ppImage.mdc  TEXT      NONE       CHIP       TRUE      NONE
 	        									        
@@ -127,5 +140,5 @@
 PPIMAGE.CHIP.MASK       OUTPUT {OUTPUT}.{CHIP.NAME}.ch.mk.fits   MASK      COMP_MASK  CHIP       TRUE      NONE
 PPIMAGE.CHIP.VARIANCE   OUTPUT {OUTPUT}.{CHIP.NAME}.ch.wt.fits   VARIANCE  COMP_WT    CHIP       TRUE      NONE
-PPIMAGE.CHIP.RESID      OUTPUT {OUTPUT}.{CHIP.NAME}.ch.fits      IMAGE     COMP_SUB   CHIP       TRUE      NONE
+PPIMAGE.CHIP.RESID      OUTPUT {OUTPUT}.{CHIP.NAME}.ch.fits      IMAGE     NONE       CHIP       TRUE      NONE
 		        									        
 PPIMAGE.OUTPUT.FPA1     OUTPUT {OUTPUT}.b1.fits                  IMAGE     NONE       FPA        TRUE      NONE
@@ -137,5 +150,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}.{CHIP.NAME}.ptn		 PATTERN   NONE	      CHIP	 TRUE	   NONE
 PPIMAGE.STATS           OUTPUT {OUTPUT}.{CHIP.NAME}.stats        STATS     NONE       CHIP       TRUE      NONE
 
@@ -146,7 +159,7 @@
 PPMERGE.OUTPUT.SHUTTER  OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     NONE       CHIP       TRUE      NONE
 PPMERGE.OUTPUT.FLAT     OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     NONE       CHIP       TRUE      NONE
-PPMERGE.OUTPUT.FRINGE   OUTPUT {OUTPUT}.{CHIP.NAME}.fits         FRINGE    NONE       CHIP       TRUE      NONE
-PPMERGE.OUTPUT.SIGMA    OUTPUT {OUTPUT}.{CHIP.NAME}.sigma.fits   IMAGE     NONE       CHIP       TRUE      NONE
-PPMERGE.OUTPUT.COUNT    OUTPUT {OUTPUT}.{CHIP.NAME}.count.fits   IMAGE     NONE       CHIP       TRUE      NONE
+PPMERGE.OUTPUT.FRINGE   OUTPUT {OUTPUT}.{CHIP.NAME}.fits         FRINGE    NONE       CELL       TRUE      NONE
+PPMERGE.OUTPUT.SIGMA    OUTPUT {OUTPUT}.{CHIP.NAME}.sigma.fits   IMAGE     NONE       CELL       TRUE      NONE
+PPMERGE.OUTPUT.COUNT    OUTPUT {OUTPUT}.{CHIP.NAME}.count.fits   IMAGE     NONE       CELL       TRUE      NONE
 		        									        
 DVOCORR.OUTPUT          OUTPUT {OUTPUT}.{CHIP.NAME}.fc.fits      IMAGE     NONE       CHIP       TRUE      NONE
@@ -156,6 +169,6 @@
 PSPHOT.BACKGND          OUTPUT {OUTPUT}.{CHIP.NAME}.bck.fits     IMAGE     COMP_IMG   CHIP       TRUE      NONE
 PSPHOT.BACKSUB          OUTPUT {OUTPUT}.{CHIP.NAME}.sub.fits     IMAGE     COMP_SUB   CHIP       TRUE      NONE
-PSPHOT.BACKMDL          OUTPUT {OUTPUT}.{CHIP.NAME}.mdl.fits     IMAGE     COMP_IMG   CHIP       TRUE      NONE
-PSPHOT.BACKMDL.MEF      OUTPUT {OUTPUT}.mdl.fits                 IMAGE     COMP_IMG   CHIP       TRUE      NONE
+PSPHOT.BACKMDL          OUTPUT {OUTPUT}.{CHIP.NAME}.mdl.fits     IMAGE     NONE       CHIP       TRUE      NONE
+PSPHOT.BACKMDL.MEF      OUTPUT {OUTPUT}.mdl.fits                 IMAGE     NONE       CHIP       TRUE      NONE
 		        									        
 PSPHOT.OUTPUT.RAW       OUTPUT {OUTPUT}.{CHIP.NAME}              RAW       NONE       CHIP       TRUE      NONE
@@ -168,4 +181,10 @@
 PSPHOT.PSF.SKY.SAVE     OUTPUT {OUTPUT}.psf          		 PSF       NONE       FPA        TRUE      MEF
 		        									        
+# outputs for psphotStack:
+PSPHOT.CHISQ.IMAGE      OUTPUT {OUTPUT}.chisq.im.fits IMAGE    NONE       FPA        TRUE      SIMPLE
+PSPHOT.CHISQ.MASK       OUTPUT {OUTPUT}.chisq.mk.fits MASK     NONE       FPA        TRUE      SIMPLE
+PSPHOT.CHISQ.VARIANCE   OUTPUT {OUTPUT}.chisq.wt.fits VARIANCE NONE       FPA        TRUE      SIMPLE
+PSPHOT.STACK.OUTPUT     OUTPUT {OUTPUT}.{FILE.ID}.cmf CMF      NONE       FPA        TRUE      NONE
+                                                     
 SOURCE.PLOT.RAW.MOMENTS  OUTPUT {OUTPUT}.{CHIP.NAME}.mnt.png      KAPA      NONE       CHIP       TRUE      NONE
 SOURCE.PLOT.RAW.PSFMODEL OUTPUT {OUTPUT}.{CHIP.NAME}.psf.png      KAPA      NONE       CHIP       TRUE      NONE
@@ -204,4 +223,5 @@
 PPSUB.OUTPUT.JPEG1      OUTPUT {OUTPUT}.b1.jpg                   JPEG      NONE       FPA        TRUE      NONE
 PPSUB.OUTPUT.JPEG2      OUTPUT {OUTPUT}.b2.jpg                   JPEG      NONE       FPA        TRUE      NONE
+PPSUB.OUTPUT.RESID.JPEG OUTPUT {OUTPUT}.res.jpg                  JPEG      NONE       FPA        TRUE      NONE
 PPSUB.INVERSE           OUTPUT {OUTPUT}.inv.fits                 IMAGE     COMP_SUB   FPA        TRUE      NONE
 PPSUB.INVERSE.MASK      OUTPUT {OUTPUT}.inv.mask.fits            MASK      COMP_MASK  FPA        TRUE      NONE
@@ -209,8 +229,8 @@
 PPSUB.INVERSE.SOURCES   OUTPUT {OUTPUT}.inv.cmf                  CMF       NONE       FPA        TRUE      NONE
 PPSUB.CONFIG            OUTPUT {OUTPUT}.ppSub.mdc                TEXT      NONE       FPA        TRUE      NONE
-PPSUB.INPUT.CONV        OUTPUT {OUTPUT}.inConv.fits              IMAGE     COMP_SUB   FPA        TRUE      NONE
+PPSUB.INPUT.CONV        OUTPUT {OUTPUT}.inConv.fits              IMAGE     COMP_IMG   FPA        TRUE      NONE
 PPSUB.INPUT.CONV.MASK   OUTPUT {OUTPUT}.inConv.mk.fits           MASK      COMP_MASK  FPA        TRUE      NONE
 PPSUB.INPUT.CONV.VARIANCE OUTPUT {OUTPUT}.inConv.wt.fits         VARIANCE  COMP_WT    FPA        TRUE      NONE
-PPSUB.REF.CONV          OUTPUT {OUTPUT}.refConv.fits             IMAGE     COMP_SUB   FPA        TRUE      NONE
+PPSUB.REF.CONV          OUTPUT {OUTPUT}.refConv.fits             IMAGE     COMP_IMG   FPA        TRUE      NONE
 PPSUB.REF.CONV.MASK     OUTPUT {OUTPUT}.refConv.mk.fits          MASK      COMP_MASK  FPA        TRUE      NONE
 PPSUB.REF.CONV.VARIANCE OUTPUT {OUTPUT}.refConv.wt.fits          VARIANCE  COMP_WT    FPA        TRUE      NONE
@@ -219,4 +239,13 @@
 PPSTACK.OUTPUT.MASK     OUTPUT {OUTPUT}.mask.fits                MASK      COMP_MASK  FPA        TRUE      NONE
 PPSTACK.OUTPUT.VARIANCE OUTPUT {OUTPUT}.wt.fits                  VARIANCE  COMP_WT    FPA        TRUE      NONE
+PPSTACK.OUTPUT.EXP	OUTPUT {OUTPUT}.exp.fits     		 IMAGE     EXP	      FPA	 TRUE      NONE
+PPSTACK.OUTPUT.EXPNUM	OUTPUT {OUTPUT}.num.fits     		 MASK      EXPNUM     FPA	 TRUE      NONE
+PPSTACK.OUTPUT.EXPWT	OUTPUT {OUTPUT}.expwt.fits               VARIANCE  EXP	      FPA	 TRUE      NONE
+PPSTACK.UNCONV          OUTPUT {OUTPUT}.unconv.fits              IMAGE     COMP_IMG   FPA        TRUE      NONE
+PPSTACK.UNCONV.MASK     OUTPUT {OUTPUT}.unconv.mask.fits         MASK      COMP_MASK  FPA        TRUE      NONE
+PPSTACK.UNCONV.VARIANCE OUTPUT {OUTPUT}.unconv.wt.fits           VARIANCE  COMP_WT    FPA        TRUE      NONE
+PPSTACK.UNCONV.EXP	OUTPUT {OUTPUT}.unconv.exp.fits 	 IMAGE     EXP	      FPA	 TRUE      NONE
+PPSTACK.UNCONV.EXPNUM	OUTPUT {OUTPUT}.unconv.num.fits 	 MASK  	   EXPNUM     FPA	 TRUE      NONE
+PPSTACK.UNCONV.EXPWT	OUTPUT {OUTPUT}.unconv.expwt.fits        VARIANCE  EXP	      FPA	 TRUE      NONE
 PPSTACK.TARGET.PSF      OUTPUT {OUTPUT}.target.psf               PSF       NONE       CHIP       TRUE      NONE
 PPSTACK.CONV.KERNEL     OUTPUT {OUTPUT}.{FILE.INDEX}.kernel      SUBKERNEL NONE       FPA        TRUE      NONE
@@ -228,5 +257,7 @@
 PPSTAMP.OUTPUT.MASK     OUTPUT {OUTPUT}.mk.fits                  MASK      COMP_MASK  FPA        TRUE      NONE
 PPSTAMP.OUTPUT.VARIANCE OUTPUT {OUTPUT}.wt.fits                  VARIANCE  COMP_WT    FPA        TRUE      NONE
+# mosaic image used for making stamps of raw images. Not saved.
 PPSTAMP.CHIP            OUTPUT {OUTPUT}.ch.fits                  IMAGE     NONE       CHIP       FALSE     MEF
+PPSTAMP.OUTPUT.JPEG1    OUTPUT {OUTPUT}.jpg                      JPEG      NONE       FPA        TRUE      NONE
 		        									        
 PPSIM.OUTPUT            OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     NONE       CHIP       TRUE      SPLIT
@@ -252,4 +283,20 @@
 
 CENSOR.OUTPUT           OUTPUT {OUTPUT}.smf                      CMF       NONE       FPA        TRUE      MEF
+
+MAGIC.ORIGINAL.PNG      OUTPUT {OUTPUT}_original.png             JPEG      NONE       FPA        TRUE      NONE
+MAGIC.RESIDUAL.PNG      OUTPUT {OUTPUT}_residual.png             JPEG      NONE       FPA        TRUE      NONE
+MAGIC.MASK.PNG          OUTPUT {OUTPUT}_mask.png                 JPEG      NONE       FPA        TRUE      NONE
+MAGIC.DUPLICATE.PNG     OUTPUT {OUTPUT}_duplicate.png            JPEG      NONE       FPA        TRUE      NONE
+
+PPSMOOTH.OUTPUT          OUTPUT {OUTPUT}.{CHIP.NAME}.fits        IMAGE     NONE       CHIP       TRUE      MEF
+PPSMOOTH.OUTPUT.MASK     OUTPUT {OUTPUT}.{CHIP.NAME}.mk.fits     MASK      NONE       CHIP       TRUE      MEF
+PPSMOOTH.OUTPUT.VARIANCE OUTPUT {OUTPUT}.{CHIP.NAME}.wt.fits     VARIANCE  NONE       CHIP       TRUE      MEF
+
+PPBGRESTORE.OUTPUT      OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     NONE       CHIP       TRUE      NONE
+PPBGRESTORE.BACKGROUND  OUTPUT {OUTPUT}.{CHIP.NAME}.bg.fits      IMAGE     NONE       CHIP       FALSE      NONE
+
+PPVIZPSF.OUTPUT		OUTPUT {OUTPUT}.{CHIP.NAME}.fits         IMAGE     NONE       CHIP       TRUE      NONE
+PPVIZPATTERN.OUTPUT	OUTPUT {OUTPUT}.{CHIP.NAME}.fits	 IMAGE	   NONE	      CHIP	 TRUE	   NONE
+PPVIZPATTERN.CHIP	OUTPUT {OUTPUT}.{CHIP.NAME}.ch.fits	 IMAGE	   NONE	      CHIP	 TRUE	   NONE
 
 # {FPA.OBS}
Index: branches/simtest_nebulous_branches/ippconfig/recipes/fitstypes.mdc
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/fitstypes.mdc	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/fitstypes.mdc	(revision 27840)
@@ -99,2 +99,27 @@
 END
 
+# Compressed exposure image
+EXP	METADATA
+	BITPIX		S32	16
+	SCALING		STR	MANUAL
+	FUZZ		BOOL	FALSE
+	# Note: TRUE = BZERO + BSCALE * DISK
+	BSCALE		F32	0.1	# Disk is stored as 1/10th sec
+	BZERO		F32	3276.8	# Store unsigned zero as zero
+	COMPRESSION	STR	GZIP
+	TILE.X		S32	0
+	TILE.Y		S32	1
+	TILE.Z		S32	1
+	NOISE		S32	8
+END
+
+# Compressed number image
+EXPNUM	METADATA
+	BITPIX		S32	16
+	COMPRESSION	STR	GZIP
+	TILE.X		S32	0
+	TILE.Y		S32	1
+	TILE.Z		S32	1
+	NOISE		S32	8
+END
+
Index: branches/simtest_nebulous_branches/ippconfig/recipes/jpeg.mdc
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/jpeg.mdc	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/jpeg.mdc	(revision 27840)
@@ -41,4 +41,11 @@
 END
 
+PPSUB.OUTPUT.RESID.JPEG	METADATA
+	COLORMAP	STR	-greyscale
+	SCALE.MODE	STR	RANGE
+	SCALE.MIN	F32	 -5.0
+	SCALE.MAX	F32	 +5.0
+END
+
 PPSTACK.OUTPUT.JPEG1	METADATA
 	COLORMAP	STR	-greyscale
Index: branches/simtest_nebulous_branches/ippconfig/recipes/masks.16bit.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/masks.16bit.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/masks.16bit.config	(revision 27840)
@@ -20,4 +20,5 @@
 
 # Mask values which represent non-astronomical structures
+BURNTOOL        U16     0x0080          # Pixel may contain uncorrected streak.
 CR		U16	0x0100		# Pixel contains a cosmic ray
 SPIKE		U16	0x0200		# Pixel contains a diffraction spike
Index: branches/simtest_nebulous_branches/ippconfig/recipes/nightly_science.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/nightly_science.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/nightly_science.config	(revision 27840)
@@ -0,0 +1,271 @@
+RETENTION_TIME   U16	9000
+
+FILTERS MULTI
+FILTERS STR g.00000
+FILTERS STR r.00000
+FILTERS STR i.00000
+FILTERS STR z.00000
+FILTERS STR y.00000
+
+TARGETS MULTI
+TARGETS METADATA
+  NAME STR M31
+  TESS STR M31
+  OBSMODE STR M31
+  OBJECT STR M31%
+#  COMMENT STR M31%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD01
+  TESS STR MD01
+  OBSMODE STR MD
+  OBJECT STR MD01%
+#  COMMENT STR %MD01%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD02
+  TESS STR MD02
+  OBSMODE STR MD
+  OBJECT STR MD02%
+#  COMMENT STR %MD02%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD03
+  TESS STR MD03
+  OBSMODE STR MD
+  OBJECT STR MD03%
+#  COMMENT STR %MD03%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD04
+  TESS STR MD04
+  OBSMODE STR MD
+  OBJECT STR MD04%
+#  COMMENT STR %MD04%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD05
+  TESS STR MD05
+  OBSMODE STR MD
+  OBJECT STR MD05%
+#  COMMENT STR %MD05%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD06
+  TESS STR MD06
+  OBSMODE STR MD
+  OBJECT STR MD06%
+#  COMMENT STR %MD06%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD07
+  TESS STR MD07
+  OBSMODE STR MD
+  OBJECT STR MD07%
+#  COMMENT STR %MD07%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD08
+  TESS STR MD08
+  OBSMODE STR MD
+  OBJECT STR MD08%
+#  COMMENT STR %MD08%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD09
+  TESS STR MD09
+  OBSMODE STR MD
+  OBJECT STR MD09%
+#  COMMENT STR %MD09%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR MD10
+  TESS STR MD10
+  OBSMODE STR MD
+  OBJECT STR MD10%
+#  COMMENT STR %MD10%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR STS
+  TESS STR RINGS.V0
+  OBSMODE STR STS%
+  OBJECT STR STS%
+#  COMMENT STR Stellar Transit%
+  STACKABLE BOOL FALSE
+END
+TARGETS METADATA
+  NAME STR SweetSpot
+  TESS STR RINGS.V0
+  OBSMODE STR SS
+# OBJECT STR SS
+  STACKABLE BOOL FALSE
+END
+TARGETS METADATA
+  NAME STR ThreePi
+  TESS STR RINGS.V0
+  OBSMODE STR 3PI
+# OBJECT STR 3PI
+  STACKABLE BOOL FALSE
+END
+# This is a hack, and I freely admit it.
+TARGETS METADATA
+  NAME STR microtestMD01
+  TESS STR MD01
+  OBJECT STR MD01%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD01.noPattern
+  TESS STR MD01
+  OBJECT STR MD01%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD02
+  TESS STR MD02
+  OBJECT STR MD02%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD02.noPattern
+  TESS STR MD02
+  OBJECT STR MD02%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD03
+  TESS STR MD03
+  OBJECT STR MD03%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD03.noPattern
+  TESS STR MD03
+  OBJECT STR MD03%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD04
+  TESS STR MD04
+  OBJECT STR MD04%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD04.noPattern
+  TESS STR MD04
+  OBJECT STR MD04%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD05
+  TESS STR MD05
+  OBJECT STR MD05%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD05.noPattern
+  TESS STR MD05
+  OBJECT STR MD05%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD06
+  TESS STR MD06
+  OBJECT STR MD06%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD06.noPattern
+  TESS STR MD06
+  OBJECT STR MD06%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD07
+  TESS STR MD07
+  OBJECT STR MD07%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD07.noPattern
+  TESS STR MD07
+  OBJECT STR MD07%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD08
+  TESS STR MD08
+  OBJECT STR MD08%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD08.noPattern
+  TESS STR MD08
+  OBJECT STR MD08%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD09
+  TESS STR MD09
+  OBJECT STR MD09%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD09.noPattern
+  TESS STR MD09
+  OBJECT STR MD09%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD10
+  TESS STR MD10
+  OBJECT STR MD10%
+  COMMENT STR Microtest Obs%
+  STACKABLE BOOL TRUE
+END
+TARGETS METADATA
+  NAME STR microtestMD10.noPattern
+  TESS STR MD10
+  OBJECT STR MD10%
+  COMMENT STR Microtest Obs%
+  REDUCTION STR STDSCIENCE.V0
+  STACKABLE BOOL TRUE
+END
Index: branches/simtest_nebulous_branches/ippconfig/recipes/ppImage.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/ppImage.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/ppImage.config	(revision 27840)
@@ -16,6 +16,14 @@
 MASK.SATURATED     BOOL    TRUE            # Mask the saturated pixels
 MASK.LOW           BOOL    TRUE            # Mask pixels below valid range
+MASK.BURNTOOL      BOOL    FALSE           # Mask potential burntool trails
 VARIANCE.BUILD     BOOL    FALSE           # Build internal variance image
-PATTERN            BOOL    FALSE           # Fit and remove pattern noise?
+PATTERN.ROW        BOOL    FALSE           # Row pattern correction
+PATTERN.ROW.SUBSET METADATA		   # Menu of chips and/or cells for row pattern correction
+END
+PATTERN.CELL       BOOL    FALSE           # Cell pattern correction
+PATTERN.CELL.SUBSET METADATA		   # Menu of chips and/or cells for cell pattern correction
+END
+PATTERN.SUBSET	   METADATA
+END
 FRINGE             BOOL    FALSE           # Fringe subtraction
 PHOTOM             BOOL    FALSE           # Source identification and photometry
@@ -25,6 +33,8 @@
 CHECK.CTE          BOOL    FALSE           # measure CTE errors?
 USE.DEBURNED.IMAGE BOOL    FALSE           # use burntool-repaired image?
+USE.BEST.BURNTOOL  BOOL    FALSE           # require the best burntooled data
 TILTYSTREAK.APPLY  BOOL    FALSE           # apply the 'tiltystreak' tool
 
+GAIN.OVERRIDE		BOOL	TRUE		# Override a non-finite gain?
 
 TILTYSTREAK.BY.CLASS METADATA              # apply the 'tiltystreak' tool
@@ -55,4 +65,7 @@
 SCAN.ROWS        S32     100
 
+# Which regions identified by burntool to mask. 0x01 : only unfit trails, 0x02 "up" trails, 0x04 "down" trails
+BURNTOOL.TRAILS     U16 0x07
+
 # Non-linearity correction
 NONLIN.SOURCE           STR     CHIP.NAME       # How to determine the source
@@ -82,10 +95,12 @@
 
 # Pattern subtraction options
-PATTERN.ORDER      S32     2               # Polynomial order
-PATTERN.ITER       S32     4               # Rejection iterations
-PATTERN.REJ        F32     2.5             # Rejection threshold
-PATTERN.THRESH     F32	   20.0		   # Ignore threshold
-PATTERN.MEAN       STR     SAMPLE_MEAN     # Statistic for mean
-PATTERN.STDEV      STR     SAMPLE_STDEV    # Statistic for standard deviation
+PATTERN.ROW.ORDER      S32     2               # Polynomial order for row pattern
+PATTERN.ROW.ITER       S32     4               # Rejection iterations for row pattern
+PATTERN.ROW.REJ        F32     2.5             # Rejection threshold for row pattern
+PATTERN.ROW.THRESH     F32     20.0            # Ignore threshold for row pattern
+PATTERN.ROW.MEAN       STR     SAMPLE_MEAN     # Statistic for mean for row pattern
+PATTERN.ROW.STDEV      STR     SAMPLE_STDEV    # Statistic for standard deviation for row pattern
+PATTERN.CELL.BG	       STR     ROBUST_MEDIAN   # Statistic for background for cell pattern
+PATTERN.CELL.MEAN      STR     SAMPLE_MEDIAN   # Statistic for mean for cell pattern
 
 # Fringe subtraction options
@@ -123,4 +138,6 @@
 FRINGE.FILTERS  MULTI
 FRINGE.FILTERS  STR UNDEF
+
+GAIN.OVERRIDE	BOOL	FALSE		# Override a non-finite gain?
 
 DETREND.CONSTRAINTS  METADATA
@@ -242,4 +259,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL	   FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -264,4 +282,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	   BOOL	   FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -286,4 +305,5 @@
   FLAT               BOOL    FALSE           # Flat-field normalisation
   MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	     BOOL    FALSE	   # Build internal mask?
   FRINGE             BOOL    FALSE           # Fringe subtraction
   PHOTOM             BOOL    FALSE           # Source identification and photometry
@@ -308,4 +328,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -330,4 +351,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -352,4 +374,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -374,4 +397,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -396,4 +420,5 @@
   FLAT             BOOL    TRUE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -417,5 +442,6 @@
   SHUTTER          BOOL    FALSE           # Shutter correction
   FLAT             BOOL    FALSE           # Flat-field normalisation
-  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE		   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -440,4 +466,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    TRUE            # Source identification and photometry
@@ -462,4 +489,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    TRUE            # Source identification and photometry
@@ -484,4 +512,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -506,4 +535,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -528,4 +558,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -575,26 +606,4 @@
 # Overscan, bias, dark, shutter
 PPIMAGE_OBDS       METADATA
-  BASE.FITS        BOOL    TRUE            # Save base detrended image?
-  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
-  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
-  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
-  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
-  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
-  OVERSCAN         BOOL    TRUE            # Overscan subtraction
-  BIAS             BOOL    TRUE            # Bias subtraction
-  DARK             BOOL    TRUE            # Dark subtraction
-  SHUTTER          BOOL    FALSE           # Shutter correction
-  FLAT             BOOL    FALSE           # Flat-field normalisation
-  MASK             BOOL    FALSE           # Mask bad pixels
-  FRINGE           BOOL    FALSE           # Fringe subtraction
-  PHOTOM           BOOL    FALSE           # Source identification and photometry
-  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
-  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
-  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
-  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
-END
-
-# used for the pre-mask version of flat-field processing
-PPIMAGE_FLATPROC_PREMASK       METADATA
   BASE.FITS          BOOL    TRUE            # Save base detrended image?
   BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
@@ -609,4 +618,28 @@
   FLAT               BOOL    FALSE           # Flat-field normalisation
   MASK               BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD         BOOL    FALSE	     # Build internal mask?
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# used for the pre-mask version of flat-field processing
+PPIMAGE_FLATPROC_PREMASK     METADATA
+  BASE.FITS          BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS     BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS          BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS     BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN           BOOL    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    TRUE            # 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?
   FRINGE             BOOL    FALSE           # Fringe subtraction
   PHOTOM             BOOL    FALSE           # Source identification and photometry
@@ -638,4 +671,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -660,4 +694,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -693,4 +728,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -715,4 +751,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -737,4 +774,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -759,4 +797,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -787,4 +826,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -815,4 +855,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    TRUE            # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -837,4 +878,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -853,4 +895,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -877,4 +920,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -905,4 +949,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -933,4 +978,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    FALSE           # Save 1st binned chip image?
@@ -951,4 +997,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    FALSE           # Save 1st binned chip image?
@@ -975,4 +1022,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -994,4 +1042,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1029,4 +1078,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1064,4 +1114,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1099,4 +1150,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1134,4 +1186,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1169,4 +1222,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1205,4 +1259,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1240,4 +1295,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1275,4 +1331,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1310,4 +1367,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1345,4 +1403,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1380,4 +1439,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1415,4 +1475,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1450,4 +1511,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1485,4 +1547,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1520,4 +1583,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD      BOOL    FALSE 	  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE           # Source identification and photometry
@@ -1556,4 +1620,5 @@
   FLAT             BOOL    FALSE           # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1585,4 +1650,5 @@
   SHUTTER          BOOL    FALSE           # Shutter correction
   FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   MASK             BOOL    FALSE           # Mask bad pixels
   FRINGE           BOOL    FALSE           # Fringe subtraction
@@ -1623,4 +1689,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    FALSE 	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    FALSE           # Source identification and photometry
@@ -1664,4 +1731,5 @@
   FLAT               BOOL    TRUE            # Flat-field normalisation
   MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
   FRINGE             BOOL    TRUE            # Fringe subtraction
   BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
@@ -1693,4 +1761,5 @@
   FLAT               BOOL    TRUE            # Flat-field normalisation
   MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
   FRINGE             BOOL    TRUE            # Fringe subtraction
   BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
@@ -1702,7 +1771,33 @@
 END
 
-
-# Standard chip processing with pattern subtraction
-CHIP_PATTERN	METADATA
+PR_NOPATTERN      METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE 	   # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PATTERN.ROW      BOOL    FALSE           # Subtract pattern noise
+  PATTERN.CELL     BOOL    FALSE           # Subtract pattern noise
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND       BOOL    FALSE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL  TRUE            # Subtract model background?
+END
+
+# Standard chip processing without any background removal
+CHIP_PRESERVE_BG	METADATA
   BASE.FITS          BOOL    FALSE           # Save base detrended image?
   BASE.MASK.FITS     BOOL    FALSE           # Save base detrended image?
@@ -1717,5 +1812,31 @@
   FLAT               BOOL    TRUE            # Flat-field normalisation
   MASK               BOOL    TRUE            # Mask bad pixels
-  PATTERN            BOOL    TRUE            # Subtract pattern noise?
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
+  PATTERN.ROW        BOOL    FALSE           # Subtract pattern noise
+  PATTERN.CELL       BOOL    FALSE           # Subtract pattern noise
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    FALSE           # Subtract background?
+END
+
+# Standard chip processing
+CHIP_NOPATTERN	METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
   FRINGE             BOOL    TRUE            # Fringe subtraction
   BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
@@ -1726,2 +1847,91 @@
   BACKGROUND         BOOL    TRUE            # Subtract background?
 END
+
+# Standard chip processing for old pre-run5 data
+CHIP_PATTERN	METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    TRUE            # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD         BOOL    TRUE 	     # Build internal mask?
+  FRINGE             BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+  BACKGROUND         BOOL    TRUE            # Subtract background?
+  PATTERN.ROW      BOOL    TRUE           # Subtract pattern noise
+  PATTERN.CELL     BOOL    FALSE           # Subtract pattern noise
+
+  PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
+	XY01	BOOL	TRUE
+	XY02	BOOL	TRUE
+	XY03	BOOL	TRUE
+	XY04	BOOL	TRUE
+	XY05	BOOL	TRUE
+	XY06	BOOL	TRUE
+	XY10	BOOL	TRUE
+	XY11	BOOL	TRUE
+	XY12	BOOL	TRUE
+	XY13	BOOL	TRUE
+	XY14	BOOL	TRUE
+	XY15	BOOL	TRUE
+	XY16	BOOL	TRUE
+	XY17	BOOL	TRUE
+	XY20	BOOL	TRUE
+	XY21	BOOL	TRUE
+	XY22	BOOL	TRUE
+	XY23	BOOL	TRUE
+	XY24	BOOL	TRUE
+	XY25	BOOL	TRUE
+	XY26	BOOL	TRUE
+	XY27	BOOL	TRUE
+	XY30	BOOL	TRUE
+	XY31	BOOL	TRUE
+	XY32	BOOL	TRUE
+	XY33	BOOL	TRUE
+	XY34	BOOL	TRUE
+	XY35	BOOL	TRUE
+	XY36	BOOL	TRUE
+	XY37	BOOL	TRUE
+	XY40	BOOL	TRUE
+	XY41	BOOL	TRUE
+	XY42	BOOL	TRUE
+	XY43	BOOL	TRUE
+	XY44	BOOL	TRUE
+	XY45	BOOL	TRUE
+	XY46	BOOL	TRUE
+	XY47	BOOL	TRUE
+	XY50	BOOL	TRUE
+	XY51	BOOL	TRUE
+	XY52	BOOL	TRUE
+	XY53	BOOL	TRUE
+	XY54	BOOL	TRUE
+	XY55	BOOL	TRUE
+	XY56	BOOL	TRUE
+	XY57	BOOL	TRUE
+	XY60	BOOL	TRUE
+	XY61	BOOL	TRUE
+	XY62	BOOL	TRUE
+	XY63	BOOL	TRUE
+	XY64	BOOL	TRUE
+	XY65	BOOL	TRUE
+	XY66	BOOL	TRUE
+	XY67	BOOL	TRUE
+	XY71	BOOL	TRUE
+	XY72	BOOL	TRUE
+	XY73	BOOL	TRUE
+	XY74	BOOL	TRUE
+	XY75	BOOL	TRUE
+	XY76	BOOL	TRUE
+  END
+END
Index: branches/simtest_nebulous_branches/ippconfig/recipes/ppMerge.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/ppMerge.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/ppMerge.config	(revision 27840)
@@ -44,5 +44,8 @@
 MASK.GROW.NPIX      S32     3               # measure stats for masking by chip (or by readout)
 
+GAIN.OVERRIDE	    BOOL    FALSE	    # Override non-finite gain?
+
 # Ordinates for fitting dark current
+# Counts = C0 + CT0*exptime
 DARK.ORDINATES  METADATA
         CELL.DARKTIME   S32     1       # Traditional dark current term
Index: branches/simtest_nebulous_branches/ippconfig/recipes/ppSim.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/ppSim.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/ppSim.config	(revision 27840)
@@ -50,12 +50,19 @@
 
 STARS.FAKE      BOOL    TRUE		# Add fake stars, randomly distributed?
-STARS.LUM	F32	0.6		# Stellar luminosity function slope (magnitude slope)
-STARS.MAG	F32	15.5		# Brightest magnitude for fake stars
-STARS.DENSITY	F32     50.0		# Stellar density (per square degree) at the brightest magnitude
-STARS.SIGMA.LIM F32      5.0            # significance of faintest sources
+STARS.LUM	F32	0.35		# Stellar luminosity function slope (magnitude slope)
+STARS.MAG	F32	15.5		# Brightest magnitude for fake stars (choose based on real catalog limit)
+STARS.DENSITY	F32      1.0		# Stellar density (per square degree) at the brightest magnitude
+STARS.SIGMA.LIM F32      0.1            # significance of faintest sources
 
 STARS.FLAT.LUM  BOOL    FALSE           # use a (non-physical) constant number of stars per mag bin?
 STARS.FLAT.NUM  S32     5000            # number of stars to generate for flat magnitude distribution
 PSF.MODEL       STR     PS_MODEL_QGAUSS
+PSF.ARATIO      F32     1.0		# minor / major (0.0 - 1.0)
+PSF.THETA	F32	0.0
+
+STARS.GRID      BOOL    FALSE		# Add grid of fake stars with constant flux
+STARS.GRID.MAG	F32	14.0		# magnitude of fake grid stars
+STARS.GRID.DX	S32	100		# X spacing of fake grid stars
+STARS.GRID.DY	S32	100		# Y spacing of fake grid stars
 
 GALAXY.FAKE     BOOL    FALSE		# Generate fake galaxies?
@@ -94,5 +101,5 @@
 
 ### The following options are used if not defined by the concepts (e.g., usually read from headers)
-GAIN		F32	1.0		# Default gain (e/ADU)
+GAIN		F32	NAN		# Default gain (e/ADU)
 READNOISE	F32	10.0		# Default read noise (e)
 OVERSCAN.SIZE	S32	32		# Default overscan columns
@@ -185,4 +192,10 @@
 END
 
+STACKTEST.MAKE  METADATA
+END
+
+STACKTEST.RUN  METADATA
+END
+
 # Overrides for creating large holes in the image
 LARGEHOLES	METADATA
Index: branches/simtest_nebulous_branches/ippconfig/recipes/ppSmooth.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/ppSmooth.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/ppSmooth.config	(revision 27840)
@@ -0,0 +1,3 @@
+# no recipe options are yet defined...
+
+SIGMA F32 1.0
Index: branches/simtest_nebulous_branches/ippconfig/recipes/ppStack.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/ppStack.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/ppStack.config	(revision 27840)
@@ -2,28 +2,36 @@
 
 CONVOLVE	BOOL	TRUE		# Convolve images when stacking?
-ITER		S32	1		# Number of rejection iterations
-COMBINE.REJ	F32	2.0		# Rejection threshold in combination (sigma)
-COMBINE.SYS	F32	0.03		# Relative systematic error in combination
+MATCH.ZERO.POINTS BOOL	TRUE		# Convolve images when stacking?
+
+COMBINE.ITER	F32	0.5		# Number of rejection iterations per input
+COMBINE.REJ	F32	2.5		# Rejection threshold in combination (sigma)
+COMBINE.SYS	F32	0.1		# Relative systematic error in combination
 COMBINE.DISCARD	F32	0.2		# Discard fraction for Olympic weighted mean
-MASK.VAL	STR	MASK.VALUE,CONV.BAD	# Mask value of input bad pixels
+
+# XXX which of these is right?
+MASK.VAL	STR	MASK.VALUE,CONV.BAD,GHOST	# Mask value of input bad pixels
+MASK.IN		STR	MASK.VALUE,CONV.BAD,GHOST	# Mask value of input bad pixels
+
+MASK.SUSPECT	STR	SUSPECT,CONV.POOR	# Mask value of suspect pixels
 MASK.BAD	STR	BLANK		# Mask value to give bad pixels
 MASK.POOR	STR	CONV.POOR	# Mask value to give poor pixels
-POOR.FRACTION	F32	0.01		# Maximum fraction of bad variance for poor pixels
+POOR.FRACTION	F32	0.25		# Maximum fraction of bad variance for poor pixels
 THRESHOLD.MASK	F32	0.5		# Threshold for mask deconvolution (0..1)
-DECONV.LIMIT	F32	5.0		# Deconvolution fraction for rejecting entire image
+DECONV.LIMIT	F32	2.0		# Deconvolution fraction for rejecting entire image
 IMAGE.REJ	F32	0.1		# Rejected pixel fraction threshold for rejecting entire image
-MATCH.REJ	F32	5.0		# Rejection threshold for chi^2 values from matching
+MATCH.REJ	F32	3.0		# Rejection threshold for chi^2 values from matching
 ROWS		S32	64		# Number of rows to read at once
 VARIANCE	BOOL	TRUE		# Use variance in rejection?
 SAFE		BOOL	TRUE		# Play safe when combining small number of values?
+WEIGHTS		BOOL	TRUE		# Use 1/noise^2 weighting?
 BIN1		S32	4		# Binning factor for first level
 BIN2		S32	4		# Binning factor for second level
+PHOTOMETRY      BOOL    TRUE            # Do basic photometry?
 SKIP.BG.SUB	BOOL	FALSE		# Bypass background subtraction?
 
-RENORM		BOOL	FALSE		# Renormalise variance maps?
-RENORM.NUM	S32	10000		# Number of samples for renormalisation
-RENORM.MEAN	STR	ROBUST_MEDIAN	# Statistic to use for mean in renormalisation
-RENORM.STDEV	STR	ROBUST_STDEV	# Statistic to use for stdev in renormalisation
-RENORM.WIDTH	F32	2.2		# Gaussian width for normalisation
+RENORM		BOOL	TRUE		# Renormalise weight maps?
+RENORM.NUM	S32	100000		# Number of samples for renormalisation
+RENORM.MIN	F32	NAN		# Minimum value for renormlisation
+RENORM.MAX	F32	NAN		# Maximum value for renormalisation
 
 ### The PHOT mode is intended as a quick and dirty stopgap; it should disappear soon.
@@ -33,5 +41,6 @@
 PHOT.FRAC	F32	0.9		# Minimum fraction of good pixels
 
-ZP.RADIUS	F32	1.0		# Radius (pixels) for matching sources
+ZP		BOOL	TRUE		# Match zero points?
+ZP.RADIUS	F32	4.0		# Radius (pixels) for matching sources
 ZP.ITER.1	S32	5		# Iterations for zero point; pass 1
 ZP.ITER.2	S32	1000		# Iterations for zero point; pass 2
@@ -53,11 +62,17 @@
 	y	F32	0.0
 END
-	
+ZP.TARGET	METADATA		# Target zero point by filter
+	g	F32	25.0
+	r	F32	25.0
+	i	F32	25.0
+	z	F32	25.0
+	y	F32	25.0
+END
+
 PSF.INSTANCES	S32	15		# Number of instances for PSF generation
 PSF.RADIUS	F32	20.0		# Radius for PSF generation
 PSF.ORDER	S32	1		# Order of spatial variation for PSF generation
-PSF.MODEL	STR	PS_MODEL_PS1_V1	# Model for PSF generation
+PSF.MODEL	STR	PS_MODEL_GAUSS	# Model for PSF generation
 
-TEMP.DIR	STR	/tmp	        # Directory for temporary images
 TEMP.IMAGE	STR	conv.im.fits	# Suffix for temporary convolved images
 TEMP.MASK	STR	conv.mk.fits	# Suffix for temporary convolved masks
@@ -72,5 +87,4 @@
 # Debugging
 DEBUG	METADATA
-	TEMP.DIR	STR	./		# Directory for temporary images
 	TEMP.DELETE	BOOL	FALSE		# Delete temporary files on completion?
 END
@@ -78,6 +92,9 @@
 # Faster processing for PR images
 PR	METADATA
-	CONVOLVE	BOOL	FALSE
-	IMAGE.REJ	F32	0.5	
-	SKIP.BG.SUB	BOOL	FALSE
+	IMAGE.REJ	    F32	  0.5
+	WEIGHTS		    BOOL  FALSE
+	CONVOLVE	    BOOL  FALSE
+	SKIP.BG.SUB	    BOOL  FALSE
+        MATCH.ZERO.POINTS   BOOL  FALSE
+        PHOTOMETRY          BOOL  FALSE           # Do basic photometry?
 END
Index: branches/simtest_nebulous_branches/ippconfig/recipes/ppStats.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/ppStats.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/ppStats.config	(revision 27840)
@@ -1,3 +1,8 @@
 ### Default ppStats recipe
+
+## XXX Additional notes:
+## 1) diff_skycell.pl and stack_skycell.pl currently both use the WARPSTATS recipe below
+## 2) ppSub (at least) supplements the stats file explicitly with several items that are not
+## written to headers (see ppSubReadoutStats.c)
 
 # Options governing statistics
@@ -108,4 +113,6 @@
   STAT		STR	ROBUST_MEDIAN
   STAT          STR     ROBUST_STDEV   # Background statistics estimators
+  SUMMARY       STR     GOOD_PIXEL_NUM  # Number of good pixels
+  SUMMARY       STR     GOOD_PIXEL_FRAC # Fraction of good pixels
 END
 
@@ -190,4 +197,6 @@
   CONCEPT       STR     FPA.TELTEMP.EXTRA  # Miscellaneous temperatures (C)     
 
+  CONCEPT       STR     FPA.BURNTOOL.APPLIED 
+
   CONCEPT       STR	FPA.PON.TIME    # time since last power on
 
Index: branches/simtest_nebulous_branches/ippconfig/recipes/ppStatsFromMetadata.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/ppStatsFromMetadata.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/ppStatsFromMetadata.config	(revision 27840)
@@ -44,4 +44,5 @@
   ENTRY  VAL  FPA.TELTEMP.EXTRA   F32  CONSTANT          -teltemp_extra       # Miscellaneous temperatures (C)
   ENTRY  VAL  FPA.PON.TIME     	  F32  CONSTANT          -pon_time            # time since last power on
+#  ENTRY  VAL  FPA.BURNTOOL.APPLIED S32 CONSTANT          -burntool_state      # 
   ENTRY  VAL  CHIP.TEMP        	  F32  SAMPLE_MEAN       -ccd_temp            # CCD temperature
   ENTRY  VAL  CELL.EXPOSURE    	  F32  SAMPLE_MEAN       -exp_time            # Exposure time
@@ -243,4 +244,6 @@
   ENTRY  VAL  ZPT_UQ              F32  UQ               -zpt_uq
   ENTRY  VAL  ZPT_LQ              F32  LQ               -zpt_lq
+
+  ENTRY  VAL  QUALITY             S32  CONSTANT          -quality             # Bad quality flag
 END
 
@@ -399,2 +402,15 @@
 END
 
+STREAKSREMOVE METADATA
+  ENTRY MULTI
+  TYPE   VAL  KEYWORD             TYPE STATISTIC         FLAG 
+  ENTRY  VAL  STREAK_FRACTION     F32  CONSTANT          -streak_frac # fraction of pixels masked by streaks
+  ENTRY  VAL  NONDIFFED_FRACTION  F32  CONSTANT          -nondiff_frac # fraction of pixels not included in input diffs
+  ENTRY  VAL  TOTAL_TIME          F32  CONSTANT          -run_time    # total run time for streaksremove
+
+  # The following timers are included in the stats not saved in the datbase
+# ENTRY  VAL  GET_STREAK_PIXELS   F32  CONSTANT          -dtime_compute_masked  # time to compute list of streak pixels
+# ENTRY  VAL  REMOVE_STREAKS      F32  CONSTANT          -dtime_remove # time to mask the pixels
+# ENTRY  VAL  WRITE_IMAGES        F32  CONSTANT          -dtime_write  # time to write out the results
+# ENTRY  VAL  REPLICATE_OUTPUTS   F32  CONSTANT          -dtime_replicate  # time to replicate the outputs
+END
Index: branches/simtest_nebulous_branches/ippconfig/recipes/ppSub.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/ppSub.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/ppSub.config	(revision 27840)
@@ -1,26 +1,50 @@
 ### Recipe file for ppSub
 
-KERNEL.TYPE	STR	ISIS		# Kernel type to use (POIS|ISIS|SPAM|FRIES|GUNK|RINGS)
-KERNEL.SIZE     S32	15		# Kernel half-size (pixels)
-SPATIAL.ORDER   S32	0		# Spatial polynomial order
+KERNEL.TYPE	STR	ISIS     	# Kernel type to use (POIS|ISIS|SPAM|FRIES|GUNK|RINGS)
+KERNEL.SIZE     S32	20		# Kernel half-size (pixels)
+SPATIAL.ORDER   S32	1		# Spatial polynomial order
 REGION.SIZE	F32	0		# Iso-kernel region size (pixels)
 SOURCE.RADIUS	F32	3.0		# Source matching radius (pixels)
-STAMP.SPACING   F32	400		# Typical spacing between stamps (pixels)
-STAMP.FOOTPRINT S32	20		# Size of stamps (pixels)
+STAMP.SPACING   F32	300		# Typical spacing between stamps (pixels)
+STAMP.FOOTPRINT S32	25		# Size of stamps (pixels)
 STAMP.THRESHOLD F32	5		# Flux threshold for stamps (stdev above background)
 STRIDE		S32	100		# Size of convolution patches (pixels)
-ITER            S32	1		# Number of rejection iterations
+ITER            S32	2		# Number of rejection iterations
 REJ             F32	2.5		# Rejection level (std dev)
-SYS		F32	0.05		# Relative systematic error in kernel
+KERNEL.ERR	F32	0.05		# Relative systematic error in kernel
+SYS.ERR		F32	0.1		# Relative systematic error in images
+SKY.ERR		F32	0.0		# Relative systematic error in images
+NORM.FRAC	F32	0.03		# Fraction of window for normalisation window
+COVAR.FRAC	F32	0.01		# Fraction of kernel to truncate before calculating covariance
 
-MASK.IN		STR	MASK.VALUE,CONV.BAD	# Mask value for input
+MASK.VAL	STR	MASK.VALUE,CONV.BAD	# Mask value for input
 MASK.BAD        STR	CONV.BAD	# Mask value to give bad pixels
 MASK.POOR       STR	CONV.POOR	# Mask value to give poor pixels
 
 LOW.THRESHOLD	F32	4.0	        # Mask pixels below this threshold (std dev)
-POOR.FRACTION	F32	0.10		# Maximum fraction of bad weight for poor pixels
+POOR.FRACTION	F32	0.20		# Maximum fraction of bad weight for poor pixels
 BADFRAC		F32	0.95		# Maximum fraction of bad pixels
-@ISIS.WIDTHS	F32	1 3 5 7		# Gaussian FWHMs for ISIS kernels
-@ISIS.ORDERS	S32	2 2 2 2		# Polynomial orders for ISIS kernels
+
+# Gene's choice: multiplying by 1.75
+#@ISIS.WIDTHS	F32	1.8 3.3 5.8 10.2 17.9	# Gaussian FWHMs for ISIS kernels
+#@ISIS.ORDERS	S32	2 2 2 2 2		# Polynomial orders for ISIS kernels
+# (pi/2)^i
+#@ISIS.WIDTHS	F32	1.6 2.5 3.9 6.1 9.6 15.0	# Gaussian FWHMs for ISIS kernels
+#@ISIS.ORDERS	S32	2 2 2 2 2 2		# Polynomial orders for ISIS kernels
+# (e/2)^i for even i
+#@ISIS.WIDTHS	F32	1.4 3.4 6.3 11.6	# Gaussian FWHMs for ISIS kernels
+#@ISIS.ORDERS	S32	6 4 4 2		# Polynomial orders for ISIS kernels
+# 1.69^i
+#@ISIS.WIDTHS	F32	2.9 4.8 8.2 13.8 23.3 # Gaussian FWHMs for ISIS kernels
+#@ISIS.ORDERS	S32	4 2 2 2 2	# Polynomial orders for ISIS kernels
+
+# Paul's values
+# @ISIS.WIDTHS	F32	2.9 4.8 8.2 13.8 # Gaussian FWHMs for ISIS kernels
+# @ISIS.ORDERS	S32	4 2 2 2		# Polynomial orders for ISIS kernels
+
+# Gene's values
+@ISIS.WIDTHS	F32	2.9 4.8 8.2     # Gaussian FWHMs for ISIS kernels
+@ISIS.ORDERS	S32	4   2   2       # Polynomial orders for ISIS kernels
+
 SPAM.BINNING	S32	2		# Binning in outer region for SPAM kernels
 INNER		S32	5		# Inner half-size for SPAM and FRIES kernels
@@ -37,33 +61,34 @@
 OPTIMUM.ORDER	S32	2		# Maximum polynomial order for optimum search
 
-RENORM		BOOL	FALSE		# Renormalise weight maps?
-RENORM.NUM	S32	10000		# Number of samples for renormalisation
-RENORM.MEAN	STR	ROBUST_MEDIAN	# Statistic to use for mean in renormalisation
-RENORM.STDEV	STR	ROBUST_STDEV	# Statistic to use for stdev in renormalisation
-RENORM.WIDTH	F32	2.2		# Gaussian width for normalisation
+RENORM		BOOL	TRUE		# Renormalise weight maps?
+RENORM.NUM	S32	100000		# Number of samples for renormalisation
+RENORM.MIN	F32	0.2		# Minimum value for renormalization
+RENORM.MAX	F32	5.0		# Maximum value for renormalization
+
+SCALE		BOOL	TRUE		# Scale kernel parameters by the seeing?
+SCALE.REF	F32	9.0		# Reference for kernel parameter scaling
+SCALE.MIN	F32	0.7		# Minimum scale value
+SCALE.MAX	F32	1.2		# Maximum scale value
 
 INTERPOLATION	STR	LANCZOS3	# Interpolation mode for bad pixels
 
-VARIANCE.RESCALE           BOOL FALSE	# empirically rescale the variance?
-VARIANCE.RESCALE.NSAMPLE   S32  100000	# number of pixels to select from image for measurement
-VARIANCE.RESCALE.MIN.VALID F32  0.66	# do not rescale the variance if the measured sigma less than this value (where 1.0 is expected)
-VARIANCE.RESCALE.MAX.VALID F32  1.50	# do not rescale the variance if the measured sigma more than this value (where 1.0 is expected)
-
-DUAL		BOOL	FALSE		# Dual convolution?
+DUAL		BOOL	TRUE		# Dual convolution?
 INVERSE		BOOL	FALSE		# Generate inverse subtraction?
 PHOTOMETRY	BOOL	FALSE		# Perform photometry?
-SAVE.CONVOLVED	BOOL	TRUE		# Save convolved images?
+
 
 # Recipe overrides for STACK
 STACK	METADATA
-	KERNEL.SIZE     S32	15	# Kernel half-size (pixels)
-	STAMP.SPACING   F32	300	# Typical spacing between stamps (pixels)	
-	STAMP.FOOTPRINT S32	15	# Size of stamps (pixels)
-	POOR.FRACTION	F32	0.1	# Maximum fraction of bad weight for poor pixels
-	SPATIAL.ORDER   S32	0	# Spatial polynomial order
+	KERNEL.TYPE	STR	ISIS	# Kernel type
+	SCALE.REF	F32	9.0	# Reference for kernel parameter scaling
 END
 
 # Recipe overrides for DIFF
 DIFF	METADATA
+END
+
+# Recipe overrides for DIFF
+DIFF_MAGICTEST_V0	METADATA
+	SPATIAL.ORDER   S32	0		# Spatial polynomial order
 END
 
@@ -78,2 +103,17 @@
 	PHOTOMETRY	BOOL	FALSE
 END
+
+TEST.ISIS METADATA
+  KERNEL.TYPE	STR	ISIS_RADIAL	# Kernel type to use (POIS|ISIS|SPAM|FRIES|GUNK|RINGS)
+  @ISIS.WIDTHS	F32	2.9 4.8 8.2     # Gaussian FWHMs for ISIS kernels
+  @ISIS.ORDERS	S32	4   2   2       # Polynomial orders for ISIS kernels
+END
+
+TEST.RADIAL METADATA
+END
+
+TEST.HERM METADATA
+END
+
+TEST.DECON METADATA
+END
Index: branches/simtest_nebulous_branches/ippconfig/recipes/ppVizPSF.mdc
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/ppVizPSF.mdc	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/ppVizPSF.mdc	(revision 27840)
@@ -0,0 +1,2 @@
+MINFLUX		F32		1.0e-3
+SIZE		S32		25
Index: branches/simtest_nebulous_branches/ippconfig/recipes/psastro.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/psastro.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/psastro.config	(revision 27840)
@@ -3,4 +3,7 @@
 PSASTRO.ONLY.REFSTARS      BOOL FALSE  # skip all but refstar matches
 PSASTRO.SAVE.REFMATCH      BOOL FALSE  # save refstar matches as table in output smf file
+
+# select which WCS style to use on output images.
+PSASTRO.WCS.USECDKEYS	 BOOL FALSE
 
 # perform single-chip astrometry?
@@ -61,4 +64,7 @@
 PSASTRO.MATCH.FIT.NITER S32   1
 
+# for iterations >= N, require a single match per reference
+PSASTRO.MATCH.UNIQ.ITER S32     4 
+
 # pmAstromMatchFit
 PSASTRO.CHIP.ORDER     S32      1  # fit order
@@ -88,4 +94,5 @@
 PSASTRO.MOSAIC.RADIUS.N3   F32    0.0
 PSASTRO.MOSAIC.RADIUS.N4   F32    0.0
+PSASTRO.MOSAIC.RADIUS.N5   F32    0.0
 
 # Mosaic Astrometry options
@@ -99,4 +106,8 @@
 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)
+PSASTRO.MOSAIC.CHIP.ORDER.N5  S32      -1 # fit order (-1 means use default)
+
+# for iterations >= N, require a single match per reference
+PSASTRO.MOSAIC.UNIQ.ITER S32     2
 
 PSASTRO.MOSAIC.CHIP.NITER     S32      3  # fit clipping iterations
@@ -108,4 +119,6 @@
 PSASTRO.MOSAIC.MAX.ERROR.N3   F32      1.5 # max allow error for valid solution (UNITS?)
 PSASTRO.MOSAIC.MAX.ERROR.N4   F32      1.5 # max allow error for valid solution (UNITS?)
+PSASTRO.MOSAIC.MAX.ERROR.N5   F32      1.5 # max allow error for valid solution (UNITS?)
+
 PSASTRO.MOSAIC.MIN.NSTAR      S32      6   # min fitted stars in solution
 
@@ -119,6 +132,8 @@
 REFSTAR_MASK_SATSTAR_MAG_SLOPE  F32  10.0
 REFSTAR_MASK_SATSTAR_POS_ZERO   F32   0.0
-REFSTAR_MASK_SATSPIKE_MAG_SLOPE F32  80.0
-REFSTAR_MASK_SATSPIKE_MAG_MAX   F32 -17.0
+# spikeLength = 10**(SLOPE*(MAG_MAX - InstMag)) - OFFSET
+REFSTAR_MASK_SATSPIKE_MAG_SLOPE F32 -0.116
+REFSTAR_MASK_SATSPIKE_MAG_MAX   F32 -0.91
+REFSTAR_MASK_SATSPIKE_OFFSET    F32   0.0
 REFSTAR_MASK_SATSPIKE_WIDTH     F32  10.0
 
@@ -140,4 +155,9 @@
 GLINT.REGION			METADATA
 END
+
+REFSTAR_MASK_CROSSTALK_MAG_SLOPE F32 3.44
+REFSTAR_MASK_CROSSTALK_MAG_MAX   F32 -14.47
+CROSSTALK_MAX_MAG    F32  20.0
+CROSSTALK_MASK       BOOL FALSE
 
 EXTRACT_MAX_MAG                 F32 -15.0
@@ -152,4 +172,15 @@
 DVO.GETSTAR.MIN.MAG.INST      F32     -15.0
 
+ZERO.POINT.BY.EXPOSURE	      	BOOL     TRUE
+ZERO.POINT.USE.MEAN	      	BOOL     TRUE
+ZERO.POINT.EDGE.FRACTION      	F32      0.9
+ZERO.POINT.EDGE.SAMPLE        	S32      10
+ZERO.POINT.EDGE.SAMPLE.FRACTION F32      0.1
+
+ZPTEST METADATA
+  ZERO.POINT.BY.EXPOSURE      BOOL     TRUE
+  ZERO.POINT.USE.MEAN	      BOOL     FALSE
+END
+
 PSASTRO.2MASS                 METADATA
   PSASTRO.CATDIR              STR      2MASS
@@ -193,2 +224,3 @@
 PR_RECIPE METADATA
 END
+
Index: branches/simtest_nebulous_branches/ippconfig/recipes/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/psphot.config	(revision 27840)
@@ -2,12 +2,12 @@
 # these options turn on different inputs and/or outputs
 SAVE.OUTPUT                         BOOL  TRUE
-SAVE.BACKMDL                        BOOL  FALSE
+SAVE.BACKMDL                        BOOL  TRUE
 SAVE.BACKMDL.STDEV                  BOOL  FALSE
 SAVE.BACKGND                        BOOL  FALSE
 SAVE.BACKSUB                        BOOL  FALSE
 SAVE.RESID                          BOOL  FALSE
+SAVE.PLOTS                          BOOL  FALSE
 SAVE.PSF                            BOOL  TRUE
 LOAD.PSF                            BOOL  FALSE
-SAVE.PLOTS                          BOOL  FALSE
 
 # format for output CMF files
@@ -15,7 +15,5 @@
 
 # the zero point is used to set a basic scale for DVO
-# XXX it may not currently be read : double check this (EAM)
-ZERO_POINT                          F32   25.000          # zero point used by DVO
-ZERO_PT                             F32   25.000          # zero point used by DVO
+ZERO_PT                             F32   25.000          # zero point used by DVO XXX deprecate this
 
 # these parameter govern how the background is measured
@@ -23,4 +21,8 @@
 BACKGROUND.YBIN                     S32   128             # size of background superpixels
 IMSTATS_NPIX                        S32   10000           # number of pixels to use for sky estimate boxes:
+
+# soften the errors for bright pixels:
+SOFTEN.VARIANCE                     BOOL  FALSE
+SOFTEN.VARIANCE.FRACTION            F32   0.0
 
 SKY_BIAS                            F32   0.0             # offset applied to measured sky (FOR TESTING)
@@ -43,26 +45,41 @@
 PEAKS_SMOOTH_SIGMA                  F32   1.0             # smoothing kernel sigma in pixels
 PEAKS_SMOOTH_NSIGMA                 F32   2.0             # smoothing kernel width in sigmas
-PEAKS_NSIGMA_LIMIT                  F32   25.0            # peak significance threshold
+PEAKS_NSIGMA_LIMIT                  F32   20.0            # peak significance threshold
 PEAKS_NSIGMA_LIMIT_2                F32   5.0             # peak significance threshold
-PEAKS_NMAX                          S32   0               # on first pass, only keep NMAX peaks (0 == all)
-PEAKS_MIN_GAUSS                     F32   0.5             # Minimum valid fraction of kernel
+PEAKS_NMAX                          S32   5000            # on first pass, only keep NMAX peaks (0 == all)
+PEAKS_MIN_GAUSS                     F32   0.5             # On quick convolution, mask pixels for which the 
+				    	  		  # input pixels contribute less than this fraction of the flux
+# parameters which adjust the footprint analysis
+USE_FOOTPRINTS                      BOOL  TRUE       	  # use new pmFootprint peak packaging
+FOOTPRINT_NPIXMIN                   S32   5       	  # Minimum size of a pmFootprint
+FOOTPRINT_GROW_RADIUS               S32   3       	  # How much to grow bright footprints
+FOOTPRINT_GROW_RADIUS_2             S32   5       	  # How much to grow faint footprints
+FOOTPRINT_CULL_NSIGMA_DELTA         F32   4       	  # Cull peaks that aren't nsigma above coll to neighbour
+FOOTPRINT_CULL_NSIGMA_MIN           F32   1       	  # Minimum height of colls in units of skyStdev
+FOOTPRINT_CULL_NSIGMA_PAD           F32   0.01       	  # Fractional Padding for stdev
+
+# parameter for the simple deblending
+DEBLEND_PEAK_FRACTION               F32   0.1
+DEBLEND_SKY_NSIGMA                  F32   10.0
 
 # parameters to control the selection of the peak in the Sx,Sy plane
 MOMENTS_SCALE                       F32   0.25       
-MOMENTS_SN_MIN                      F32   10.0           # min S/N to measure moments
+MOMENTS_SN_MIN                      F32   0.0             # min S/N to measure moments (default: measure all objects)
 MOMENTS_SX_MAX                      F32   50.0
 MOMENTS_SY_MAX                      F32   50.0
 MOMENTS_AR_MAX                      F32   1.5             # maximum axial ratio: 1 / AR < (sx / sy) < AR
-MOMENTS_MIN_PIXEL_SN		    F32	  0.0		  # XXX caution on this: too high and we will excessively clip
-MOMENTS_GAUSS_SIGMA		    F32	  4.0		  # XXX TEST THIS: sigma in pixels (should be >> seeing equiv)
+MOMENTS_GAUSS_SIGMA		    F32	  4.0		  # XXX this is now autoscaled
+
+# calculate difference stats?
+DIFF_STATS                          BOOL  FALSE
 
 # basic object statistics
 SKY_INNER_RADIUS                    F32   15              # square annulus for local sky measurement
 SKY_OUTER_RADIUS                    F32   25              # square annulus for local sky measurement
-PSF_MOMENTS_RADIUS                  F32   3               # calculate initial source moments with this radius
-PSF_SN_LIM                          F32   50              # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS                      S32   200             # limit number of stars used for PSF model
+PSF_MOMENTS_RADIUS                  F32   3               # XXX this is now autoscaled
+PSF_SN_LIM                          F32   20              # minimum S/N for stars used for PSF model
+PSF_MAX_NSTARS                      S32   500             # limit number of stars used for PSF model
 PSF_CLUMP_NSIGMA                    F32   1.5             # region of Sx,Sy plane to use for selecting PSF stars
-PSF_CLUMP_GRID_SCALE                F32   0.5             # size of Sx,Sy image pixel
+PSF_CLUMP_GRID_SCALE                F32   0.2             # size of Sx,Sy image pixel
 
 PSF_CLUMP_NX                        S32   1               # subdivide image in to NX x NY regions for 
@@ -80,6 +97,4 @@
 PSF_MODEL                           STR   PS_MODEL_GAUSS
 # PSF_MODEL                         STR   PS_MODEL_PGAUSS
-# PSF_MODEL                         STR   PS_MODEL_QGAUSS
-# PSF_MODEL                         STR   PS_MODEL_TGAUSS # not well tested, not very successful
 
 # PSF.TREND.MASK must be a 2D polynomial
@@ -98,13 +113,16 @@
 PSF.FAKE.ALLOW                      BOOL  FALSE           # Allow use of fake PSFs when having trouble?
 
-PSF_FIT_RADIUS                      F32   15.0            # fitting radius for test PSF model
+PSF_FIT_RADIUS                      F32   15.0            # XXX this is now autoscaled
 PSF_REF_RADIUS                      F32   25.0            # aperture magnitudes are scaled via 
-                                         # curve-of-growth to this radius
+                                                          # curve-of-growth to this radius
+
+PSF_FIT_RADIUS_SCALE                F32   7.0            # fitting radius for test PSF model
+PSF_APERTURE_SCALE                  F32   4.5            # fitting radius for test PSF model
+
 # PSF-like source model parameters
 PSF_FIT_NSIGMA                      F32   1.0             # significance for pixel included in fit
 PSF_FIT_PADDING                     F32   2.0             # extra annulus to use for fit 
-PSF_SHAPE_NSIGMA                    F32   3.0             # max significance for shape variation
 PSF_MIN_SN                          F32   2.0             # reject objects below this significance
-PSF_MAX_CHI                         F32   50.0            # reject objects worse that this
+PSF_MAX_CHI                         F32   50.0            # reject objects worse than this
 FULL_FIT_SN_LIM                     F32   50.0
 
@@ -117,12 +135,13 @@
 PSF.RESIDUALS.STATISTIC             STR   ROBUST_MEDIAN   # statistic to use for generating the residual
 PSF.RESIDUALS.SPATIAL_ORDER         S32   0               # fit spatial variations of the residuals at this order (0,1)
-PSF.RESIDUALS.PIX.SN                F32   5.0             # keep this pixel if residual is more significant than this
+PSF.RESIDUALS.PIX.SN                F32   0.0             # keep this pixel if residual is more significant than this
+PSF.RESIDUALS.RADIUS                F32   8.0             # keep this pixel if residual is more significant than this
  
 # this model is used for approximate subtraction in the main object analysis step
 EXT_MODEL                           STR   PS_MODEL_QGAUSS
-EXT_MIN_SN                          F32   50.0            # fit galaxies above this S/N limit
 EXT_FIT_NSIGMA                      F32   1               # significance for pixel included in fit
 EXT_FIT_PADDING                     F32   5               # extra annulus to use for fit 
 EXT_MOMENTS_RADIUS                  F32   31
+EXT_FIT_MAX_RADIUS                  F32   128             # non-sensical to fit objects larger than the background mesh
 
 EXT_FIT_ITER                        S32   20              # Maximum number of fitting iterations for EXT
@@ -132,4 +151,5 @@
 EXTENDED_SOURCE_ANALYSIS            BOOL  FALSE  # perform any of the aperture-like measurements?
 EXTENDED_SOURCE_SN_LIM              F32   20.0
+EXTENDED_SOURCE_RAW_RADIUS          BOOL  FALSE
 EXTENDED_SOURCE_PETROSIAN           BOOL  FALSE
 EXTENDED_SOURCE_ISOPHOTAL           BOOL  FALSE
@@ -155,6 +175,10 @@
 
 # define the annuli (in pixels) for surface brightness measurements
-@RADIAL.ANNULAR.BINS.LOWER           F32     0.0   5.0  10.0  20.0  40.0  80.0
-@RADIAL.ANNULAR.BINS.UPPER           F32     5.0  10.0  20.0  40.0  80.0 160.0
+# @RADIAL.ANNULAR.BINS.LOWER           F32     0.0   5.0  10.0  20.0  40.0  80.0
+# @RADIAL.ANNULAR.BINS.UPPER           F32     5.0  10.0  20.0  40.0  80.0 160.0
+
+# SDSS values:
+@RADIAL.ANNULAR.BINS.LOWER           F32     0.00 0.56 1.69 2.59 4.41  7.51 11.58 18.58 28.55 45.50  70.51 110.53 172.49 269.52 420.51
+@RADIAL.ANNULAR.BINS.UPPER           F32     0.56 1.69 2.59 4.41 7.51 11.58 18.58 28.55 45.50 70.51 110.53 172.49 269.52 420.51 652.50
 
 # Extended source fit parameters
@@ -172,12 +196,8 @@
 PETROSIAN_FLUX_RATIO                F32    0.1 # we measure out to where flux = R0 * FLUX_RATIO
 
-FITMODE                             STR   BLEND  
-DEBLEND_PEAK_FRACTION               F32   0.1
-DEBLEND_SKY_NSIGMA                  F32   10.0
-
 # APTREND                           STR   NONE, CONSTANT, SKYBIAS, SKYSAT, XY_LIN, SKY_XY_LIN, SKYSAT_XY_LIN, ALL
-MEASURE.APTREND	                    BOOL  FALSE		### Gene says there's bugs in this part
+MEASURE.APTREND	                    BOOL  TRUE
 APTREND                             STR   CONSTANT
-AP_MIN_SN                           F32   25.0
+AP_MIN_SN                           F32   0.0 # measure apMags for all sources by default
 APTREND.NSTAR.MIN                   S32   5
 APTREND.ORDER.MAX                   S32   5
@@ -196,5 +216,5 @@
 
 IGNORE_GROWTH                       BOOL  FALSE
-CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  TRUE 		  # Should the photometric code [currently only ensemblePSF] refuse to weight each pixel by it's significance?
+CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  FALSE 
 INTERPOLATE_AP                      BOOL  TRUE
 
@@ -207,14 +227,4 @@
 NOISE.FACTOR                        F32   5.0
 NOISE.SIZE                          F32   2.0
-
-USE_FOOTPRINTS                      BOOL  F       	  # use new pmFootprint peak packaging
-FOOTPRINT_NPIXMIN                   S32   5       	  # Minimum size of a pmFootprint
-FOOTPRINT_NSIGMA_LIMIT              F32   20      	  # threshold for bright pmFootprint detection
-FOOTPRINT_NSIGMA_LIMIT_2            F32   4       	  # threshold for faint pmFootprint detection
-FOOTPRINT_GROW_RADIUS               S32   3       	  # How much to grow bright footprints
-FOOTPRINT_GROW_RADIUS_2             S32   5       	  # How much to grow faint footprints
-FOOTPRINT_CULL_NSIGMA_DELTA         F32   4       	  # Cull peaks that aren't nsigma above coll to neighbour
-FOOTPRINT_CULL_NSIGMA_MIN           F32   1       	  # Minimum height of colls in units of skyStdev
-FOOTPRINT_CULL_NSIGMA_PAD           F32   0.01       	  # Fractional Padding for stdev
 
 # alternate PSPHOT-type recipes
@@ -261,8 +271,18 @@
 
 PSPHOT.CR.NSIGMA.LIMIT              F32   3.0  # sources with crNsigma greater that this get tagged as likely cosmic rays
-PSPHOT.EXT.NSIGMA.LIMIT             F32   4.0  # sources with extNsigma greater that this get tagged as likely extended sources
+PSPHOT.EXT.NSIGMA.LIMIT             F32   3.0  # sources with extNsigma greater that this get tagged as likely extended sources
+PSPHOT.EXT.NSIGMA.MOMENTS           F32   3.0  # sources with extNsigma greater that this get tagged as likely extended sources
 PSPHOT.CR.GROW                      S32   1               # Number of pixels to grow CR mask
 PSPHOT.CR.NSIGMA.SOFTEN             F32   0.0025          # Softening parameter for weights
-
+PSPHOT.CRMASK.XTEST		    S32   0
+PSPHOT.CRMASK.YTEST		    S32   0
+PSPHOT.CRMASK.APPLY		    BOOL  FALSE		  # TEST THIS before enabling.
+
+# Detection efficiency
+EFF.NUM                             S32   500			# Number of fake sources per bin
+@EFF.MAG			    F32	  -2.0 -1.0 -0.5 -0.25 -0.1 -0.05 0.0 0.05 0.1 0.25 0.5 1.0 2.0	# Magnitude of fake sources relative to limit
+
+# stack photometry parameters
+PSPHOT.STACK.MATCH.RADIUS           F32   1.0 # join detections from different images with this correlation radius (pixels)
 
 # Recipe overrides for CHIP
@@ -294,3 +314,8 @@
 	BACKGROUND.YBIN		S32	2400
 	IMSTATS_NPIX		S32	50000
-END
+	BREAK_POINT             STR   ENSEMBLE     
+	PEAKS_NMAX              S32   1000            # on first pass, only keep NMAX peak (0 == all)
+	BACKGROUND.XBIN	      S32   128             # size    	    of background superpixels
+	BACKGROUND.YBIN	         S32   128             # size of background superpixels
+	SKY_STAT         STR   FITTED_MEAN_V4  # statistic used to measure background
+END
Index: branches/simtest_nebulous_branches/ippconfig/recipes/pswarp.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/pswarp.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/pswarp.config	(revision 27840)
@@ -10,6 +10,12 @@
 ACCEPT.FRAC		F32	0.1		# Minimum fraction of good pixels to accept result
 INTERPOLATION.NUM	S32	1000		# Number of interpolation kernels to pre-calculate
+PSF			BOOL	TRUE		# Measure PSF for warped image?
 
 # Default recipe for warping
 WARP	METADATA
 END
+
+#PR recipe for faster processing
+PR METADATA
+	PSF	BOOL	FALSE
+END
Index: branches/simtest_nebulous_branches/ippconfig/recipes/reductionClasses.mdc
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/reductionClasses.mdc	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/reductionClasses.mdc	(revision 27840)
@@ -38,12 +38,12 @@
 
 	# *** premask (unmasked) flat-field types
-	FLAT_PREMASK_PROCESS	STR	PPIMAGE_FLATPROC_PREMASK
-	FLAT_PREMASK_RESID	STR	PPIMAGE_F
-	FLAT_PREMASK_VERIFY	STR	PPIMAGE_F
-	FLAT_PREMASK_STACK	STR	PPMERGE_FLAT
-	FLAT_PREMASK_JPEG_IMAGE	STR	FLAT
-	FLAT_PREMASK_JPEG_RESID	STR	FLAT_RESID
-
-	DOMEFLAT_PREMASK_PROCESS	STR	PPIMAGE_OBDS
+	FLAT_PREMASK_PROCESS		STR	PPIMAGE_FLATPROC_PREMASK
+	FLAT_PREMASK_RESID		STR	PPIMAGE_F
+	FLAT_PREMASK_VERIFY		STR	PPIMAGE_F
+	FLAT_PREMASK_STACK		STR	PPMERGE_FLAT
+	FLAT_PREMASK_JPEG_IMAGE		STR	FLAT
+	FLAT_PREMASK_JPEG_RESID		STR	FLAT_RESID
+
+	DOMEFLAT_PREMASK_PROCESS	STR	PPIMAGE_FLATPROC_PREMASK 
 	DOMEFLAT_PREMASK_RESID		STR	PPIMAGE_F
 	DOMEFLAT_PREMASK_VERIFY		STR	PPIMAGE_F
@@ -52,5 +52,5 @@
 	DOMEFLAT_PREMASK_JPEG_RESID	STR	FLAT_RESID
 
-	SKYFLAT_PREMASK_PROCESS		STR	PPIMAGE_OBDS
+	SKYFLAT_PREMASK_PROCESS		STR	PPIMAGE_FLATPROC_PREMASK
 	SKYFLAT_PREMASK_RESID		STR	PPIMAGE_F
 	SKYFLAT_PREMASK_VERIFY		STR	PPIMAGE_F
@@ -81,4 +81,13 @@
 	SKYFLAT_RAW_JPEG_RESID	STR	FLAT_RESID
 
+	SKYFLATTEST_RAW_PROCESS     STR     PPIMAGE_OBD	
+        SKYFLATTEST_RAW_RESID       STR     PPIMAGE_F
+        SKYFLATTEST_RAW_VERIFY      STR     PPIMAGE_F                 
+        SKYFLATTEST_RAW_STACK       STR     PPMERGE_FLAT
+        SKYFLATTEST_RAW_JPEG_IMAGE  STR     FLAT
+        SKYFLATTEST_RAW_JPEG_RESID  STR     FLAT_RESID     
+
+
+
 	# *** Standard flat-field types
 	FLAT_PROCESS		STR	PPIMAGE_OBDS
@@ -150,36 +159,70 @@
 END
 
+# No background removal
+PRESERVE_BG	METADATA
+	CHIP_PPIMAGE	STR	CHIP_PRESERVE_BG
+	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	DEFAULT_RECIPE
+END
+
+# basic science analysis
+MAGICTEST.V0		METADATA
+	CHIP_PPIMAGE	STR	CHIP_NOPATTERN
+	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	DEFAULT_RECIPE
+END
+
 # basic science analysis
 STDSCIENCE_V0	METADATA
-	CHIP_PPIMAGE	STR	TILTY
-	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	DEFAULT_RECIPE
-END
-
-# basic science analysis : test of GPC1 with noisemap & no tiltystreak
+	CHIP_PPIMAGE	STR	CHIP_PATTERN
+	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	DEFAULT_RECIPE
+END
+
+# basic science analysis : test of GPC1 with alternate ZP analysis
 STDSCIENCE_T0	METADATA
-	CHIP_PPIMAGE	STR	NOISY
-	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	DEFAULT_RECIPE
+	CHIP_PPIMAGE	STR	CHIP
+	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	ZPTEST
 END
 
@@ -307,5 +350,5 @@
 	CHIP_PPIMAGE  	STR	PR
 	CHIP_PSPHOT	STR	PR
-	WARP_PSWARP	STR	WARP
+	WARP_PSWARP	STR	PR
 	STACK_PPSTACK	STR	PR
 	STACK_PPSUB	STR	PR
@@ -324,5 +367,5 @@
 	CHIP_PPIMAGE  	STR	PR_DARKTEST_NOSUB
 	CHIP_PSPHOT	STR	PR
-	WARP_PSWARP	STR	WARP
+	WARP_PSWARP	STR	PR
 	STACK_PPSTACK	STR	PR
 	STACK_PPSUB	STR	PR
@@ -337,4 +380,20 @@
 END
 
+PR_NOPATTERN	METADATA
+	CHIP_PPIMAGE  	STR	PR_NOPATTERN
+	CHIP_PSPHOT	STR	PR
+	WARP_PSWARP	STR	PR
+	STACK_PPSTACK	STR	PR
+	STACK_PPSUB	STR	PR
+	STACK_PSPHOT	STR	PR
+	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	PR_RECIPE
+END
+
 # Testing pattern subtraction
 TEST_PATTERN	METADATA
Index: branches/simtest_nebulous_branches/ippconfig/recipes/rejections.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/recipes/rejections.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/recipes/rejections.config	(revision 27840)
@@ -312,4 +312,30 @@
   ENSEMBLE.MEANSTDEV F32  3.0
 END
+
+SKYFLATTEST_RAW METADATA                                                      
+  FILTER             STR  *                                                                            
+  EXPECTED           F32  0.0                                                                       
+  IMFILE.MEAN        F32  0.0                                                                      
+  IMFILE.STDEV       F32  0.0                                                                    
+  IMFILE.MEANSTDEV   F32  0.0                                                                    
+  IMFILE.SKEWNESS    F32  0.0                                                                      
+  IMFILE.KURTOSIS    F32  0.0                                                                    
+  IMFILE.SNR         F32  0.0                                                                   
+  IMFILE.BIN.STDEV   F32  0.0                                                                   
+  IMFILE.BIN.SNR     F32  0.0                                                                 
+  IMFILE.FLUX        F32  0.0                                                              
+  EXP.MEAN           F32  0.0                                                                
+  EXP.STDEV          F32  0.0                                                               
+  EXP.MEANSTDEV      F32  0.0                                                             
+  EXP.SNR            F32  0.0                                                 
+  EXP.BIN.STDEV      F32  0.0                                                       
+  EXP.BIN.SNR        F32  0.0                                                            
+  EXP.FLUX           F32  0.0                                  
+  ENSEMBLE.MEAN      F32  0.0                                   
+  ENSEMBLE.STDEV     F32  0.0         
+  ENSEMBLE.MEANSTDEV F32  3.0                                                       
+END 
+
+
 
 SKYFLAT_PREMASK METADATA
Index: branches/simtest_nebulous_branches/ippconfig/sdss/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/sdss/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/sdss/camera.config	(revision 27840)
@@ -189,4 +189,5 @@
   CMF.XSRC STR xsrc # use .PSF and .EXT?
   CMF.XFIT STR xfit # use .PSF and .EXT?
+  CMF.DETEFF STR deteff
 
   PSF.HEAD  STR	hdr
Index: branches/simtest_nebulous_branches/ippconfig/sdss/dvo.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/sdss/dvo.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/sdss/dvo.config	(revision 27840)
@@ -1,5 +1,5 @@
 
 # location of DVO database tables
-CATDIR			/data/ipp001.0/jester/stripe82/coadd/catdir
+MOSAICNAME              SDSS
 
 # keywords used by DVO to interpret the headers
@@ -46,5 +46,2 @@
 # scaled correlation radius 
 ADDSTAR_NSIGMA		0
-
-CATMODE			MEF
-CATFORMAT		PANSTARRS_DEV_0
Index: branches/simtest_nebulous_branches/ippconfig/sdss/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/sdss/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/sdss/psphot.config	(revision 27840)
@@ -1,61 +1,8 @@
-
-# turn these on to see specific outputs
-SAVE.BACKMDL	BOOL 	TRUE
-#SAVE.BACKGND	BOOL 	TRUE
-#SAVE.BACKSUB	BOOL 	TRUE
-#SAVE.RESID	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
-SAVE.PLOTS      BOOL    TRUE
-
-# image statistics parameters
-IMSTATS_NPIX        S32  3000    	 # number of pixels to use for sky estimate boxes:
-
-PSF_SN_LIM          F32  10              # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
 
 PSF_MODEL         STR  PS_MODEL_QGAUSS
 
-MOMENTS_SN_MIN      F32   10.0
-#EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-#FULL_FIT_SN_LIM      F32  50.0
-#AP_MIN_SN            F32  20.0
+# check:
 PSF_CLUMP_NSIGMA   F32  2.5             # region of Sx,Sy plane to use for selecting PSF stars
 
-# PSFTREND must be a 2D polynomial
-# the specified values are ignored but define the active components of the polynomial
-PSF.TREND.MASK  METADATA  
-   NORDER_X         S32       3                # number of x orders
-   NORDER_Y         S32       3                # number of y orders
-   VAL_X00_Y00      F64       1                # polynomial coefficient
-
-   VAL_X01_Y00      F64       1                # polynomial coefficient
-   VAL_X00_Y01      F64       1                # polynomial coefficient
-
-   VAL_X02_Y00      F64       1                # polynomial coefficient
-   VAL_X01_Y01      F64       1                # polynomial coefficient
-   VAL_X00_Y02      F64       1                # polynomial coefficient
-
-   VAL_X03_Y00      F64       1                # polynomial coefficient
-   VAL_X02_Y01      F64       1                # polynomial coefficient
-   VAL_X01_Y02      F64       1                # polynomial coefficient
-   VAL_X00_Y03      F64       1                # polynomial coefficient
-   NELEMENTS        S32       10               # number of unmasked components
-END  # folder for 4D polynomial
-
+# is this needed to mask bad regions?
 XMIN F32 15
-
-PSF.RESIDUALS       BOOL true
-PSF.RESIDUALS.SPATIAL_ORDER S32 1
-
-# BREAK_POINT         STR  ENSEMBLE
-OUTPUT.FORMAT       STR  PS1_DEV_0
-
-PSPHOT.SUMMIT METADATA
- PEAKS_SMOOTH_SIGMA  F32  0.8 	   	 # peak significance threshold
- PEAKS_NSIGMA_LIMIT  F32  50.0 	   	 # peak significance threshold
- PEAKS_NMAX          S32  1000
- SAVE.RESID	BOOL 	FALSE
- PSF_SN_LIM          F32  25              # minimum S/N for stars used for PSF model
- MOMENTS_SN_MIN      F32   25.0
- PSF_MODEL         STR  PS_MODEL_PGAUSS
-END
Index: branches/simtest_nebulous_branches/ippconfig/sdssmosaic/addstar.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/sdssmosaic/addstar.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/sdssmosaic/addstar.config	(revision 27840)
@@ -1,5 +1,5 @@
-IMAGES.ONLY  BOOL  FALSE
-
-ADDSTAR	METADATA
-    IMAGES.ONLY  BOOL  FALSE
-END
+# IMAGES.ONLY  BOOL  FALSE
+# 
+# ADDSTAR	METADATA
+#     IMAGES.ONLY  BOOL  FALSE
+# END
Index: branches/simtest_nebulous_branches/ippconfig/sdssmosaic/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/sdssmosaic/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/sdssmosaic/camera.config	(revision 27840)
@@ -93,4 +93,5 @@
   CMF.XSRC STR cmf.xsrc
   CMF.XFIT STR cmf.xfit
+  CMF.DETEFF STR cmf.deteff
 
   PSF.HEAD  STR	hdr
Index: branches/simtest_nebulous_branches/ippconfig/sdssmosaic/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/sdssmosaic/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/sdssmosaic/psphot.config	(revision 27840)
@@ -1,76 +1,26 @@
-
-# turn these on to see specific outputs
-SAVE.OUTPUT	BOOL 	TRUE
-SAVE.BACKMDL	BOOL 	TRUE
-#SAVE.RESID	BOOL 	TRUE
-#SAVE.BACKGND	BOOL 	TRUE
-SAVE.BACKSUB	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
-#LOAD.PSF	BOOL 	FALSE
-#SAVE.PLOTS     	BOOL    TRUE
-
-# for testing:
-# BREAK_POINT STR BACKMDL
-
 
 BACKGROUND.XBIN	    S32  256            # size of background superpixels
 BACKGROUND.YBIN	    S32  256            # size of background superpixels
 
-# image background parameters
-IMSTATS_NPIX        S32  10000    	 # number of pixels to use for sky estimate boxes:
-SKY_STAT            STR  FITTED_MEAN_V4  # statistic used to measure background
-SKY_CLIP_SIGMA      F32  2.0             # statistic used to measure background
+# what is the 2D variation of the SDSS PSF?
+PSF_CLUMP_NX        S32   3               # subdivide image in to NX x NY regions for 
+PSF_CLUMP_NY        S32   2               # selecting PSF stars
 
-PEAKS_SMOOTH_SIGMA  F32   2.5            # smoothing kernel sigma in pixels
-PEAKS_NMAX          S32   5000           # on first pass, only keep NMAX peaks (0 == all)
-PEAKS_NSIGMA_LIMIT  F32   25.0           # peak significance threshold
-PEAKS_NSIGMA_LIMIT_2 F32   5.0           # peak significance threshold
-
-PSF_SN_LIM          F32  25              # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
-PSF_CLUMP_NX        S32   3               # subdivide image in to NX x NY regions for 
-PSF_CLUMP_NY        S32   3               # selecting PSF stars
-PSF_MOMENTS_RADIUS  F32  12               # calculate initial source moments with this radius
+# test this:
 PSF_CLUMP_GRID_SCALE F32 2.5		# size of Sx,Sy image pixel
 
-PSF.RESIDUALS       BOOL  TRUE            # generate the residuals?
-
 # PSF model parameters : choose the PSF model desired
-PSF_MODEL           STR  PS_MODEL_PS1_V1
-PSPHOT.CR.NSIGMA.SOFTEN             F32   0.0025            # Softening parameter for weights
+# PSF_MODEL           STR  PS_MODEL_PS1_V1
+PSF_MODEL           STR  PS_MODEL_QGAUSS
 
 # Use same default setting as in 2.6.1 (MAP is now global default)
-PSF.TREND.MODE                      STR POLY_ORD         
-PSF.TREND.NX                        S32   0 
-PSF.TREND.NY                        S32   0
+PSF.TREND.MODE                      STR   MAP
+PSF.TREND.NX                        S32   3 
+PSF.TREND.NY                        S32   2
 
-EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-FULL_FIT_SN_LIM      F32  25.0
-MOMENTS_SN_MIN      F32    5.0
-AP_MIN_SN            F32   5.0
-
-OUTPUT.FORMAT        STR  PS1_V1
-
-PSF_SHAPE_NSIGMA     F32  3.0		 # max significance for shape variation
-PSF_MAX_CHI          F32  50.0		 # reject objects worse that this
-
-MEASURE.APTREND      BOOL TRUE           ### XXX for now, skip this (too many errors)
-APTREND.ORDER.MAX    S32  3
-
-# BREAK_POINT STR PASS1
-
+# match the SDSS radius:
 PSF_REF_RADIUS      F32  18.7            # aperture magnitudes are scaled via 
 					 # curve-of-growth to this radius
-
-DIAGNOSTIC.PLOTS                    METADATA
-  IMAGE.BACKGROUND.CELL.HISTOGRAM   BOOL  FALSE
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.X S32   32
-  IMAGE.BACKGROUND.CELL.HISTOGRAM.Y S32   15
-END
-
-USE_FOOTPRINTS                      BOOL  TRUE       	  # use new pmFootprint peak packaging
-
-# Default is noap, nopsf; following recipes turn on one or both of these
-
+# for tests: Default is noap, nopsf; following recipes turn on one or both of these
 PSPHOT_NOAP_PSF METADATA
  PSF.TREND.MODE		STR	MAP
@@ -96,4 +46,5 @@
 END
 
+# put these values in the master?
 DIFF	METADATA
 	BACKGROUND.XBIN	    S32  32            # size of background superpixels
Index: branches/simtest_nebulous_branches/ippconfig/simmosaic/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simmosaic/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simmosaic/camera.config	(revision 27840)
@@ -72,4 +72,5 @@
         CMF.XSRC        STR     {CHIP.NAME}.xsrc # use .PSF and .EXT?
         CMF.XFIT        STR     {CHIP.NAME}.xfit # use .PSF and .EXT?
+        CMF.DETEFF      STR     {CHIP.NAME}.deteff
 
 	PSF.HEAD	STR	{CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/simmosaic/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simmosaic/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simmosaic/psphot.config	(revision 27840)
@@ -1,40 +1,3 @@
 
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.BACKGND	BOOL 	TRUE
-SAVE.BACKSUB	BOOL 	TRUE
-SAVE.PLOTS      BOOL    FALSE
-SAVE.RESID	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
-LOAD.PSF	BOOL 	FALSE
-
-IMSTATS_NPIX        S32  3000    	 # number of pixels to use for sky estimate boxes:
-SKY_INNER_RADIUS    F32    10            # square annulus for local sky measurement
-
-PSF_MOMENTS_RADIUS  F32    7               # calculate initial source moments with this radius
-
-
-
-#PSPHOT_TEST METADATA
-# SAVE.BACKSUB	BOOL 	FALSE
-# SAVE.RESID	BOOL 	TRUE
-#END
-#
-#PEAKS_OUTPUT_FILE   STR  peaks.dat
-#MOMENTS_OUTPUT_FILE STR  moments.dat
-
-#PSF_SN_LIM          F32  20.0            # minimum S/N for stars used for PSF model
-MOMENTS_SN_MIN      F32  10.0            # min S/N to measure moments
-FULL_FIT_SN_LIM     F32  100.0
-EXT_MIN_SN          F32  100.0           # fit galaxies above this S/N limit
-
-MOMENTS_SX_MAX                      F32   25.0
-MOMENTS_SY_MAX                      F32   25.0
-
-
-PEAKS_NSIGMA_LIMIT  F32  25.0 	   	 # peak significance threshold
-PEAKS_NSIGMA_LIMIT_2 F32  10.0 	   	 # peak significance threshold
-
-BREAK_POINT         STR  ENSEMBLE        # limit total processing for now (for speed)
-
-
-SKY_STAT            STR  ROBUST_MEDIAN   # statistic used to measure background
+# ppSim currently uses PS_MODEL_GAUSS
+PSF_MODEL                           STR   PS_MODEL_PGAUSS
Index: branches/simtest_nebulous_branches/ippconfig/simple/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simple/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simple/camera.config	(revision 27840)
@@ -59,4 +59,5 @@
   CMF.XSRC STR xsrc
   CMF.XFIT STR xfit
+  CMF.DETEFF STR deteff
 
   PSF.HEAD  STR hdr
Index: branches/simtest_nebulous_branches/ippconfig/simple/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simple/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simple/psphot.config	(revision 27840)
@@ -1,17 +1,2 @@
 
-SAVE.BACKMDL	BOOL 	FALSE
-SAVE.BACKGND	BOOL 	FALSE
-SAVE.BACKSUB	BOOL 	FALSE
-SAVE.PLOTS      BOOL    TRUE
 SAVE.RESID	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
-LOAD.PSF	BOOL 	FALSE
-
-IMSTATS_NPIX        S32  3000    	 # number of pixels to use for sky estimate boxes:
-
-MOMENTS_SN_MIN      F32  20.0           # min S/N to measure moments
-FULL_FIT_SN_LIM     F32  100.0
-EXT_MIN_SN          F32  100.0           # fit galaxies above this S/N limit
-
-PEAKS_NSIGMA_LIMIT  F32  10.0 	   	 # peak significance threshold
-USE_FOOTPRINTS      BOOL  T       	  # use new pmFootprint peak packaging
Index: branches/simtest_nebulous_branches/ippconfig/simtest/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simtest/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simtest/camera.config	(revision 27840)
@@ -64,4 +64,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD  STR	{CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/simtest/format.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simtest/format.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simtest/format.config	(revision 27840)
@@ -60,5 +60,5 @@
         FPA.ELEVATION   F32     3048.0 # altitude in meters
 	CELL.SATURATION	F32	65535
-	CELL.BAD	F32	-100 ## XXX this value is bogus, but needs to be context based so residual images do not get half-masked
+	CELL.BAD	F32	0
 	CELL.READDIR	S32	1
 	CELL.TIMESYS	STR	UTC
@@ -69,6 +69,6 @@
 	CELL.X0		S32	0
 	CELL.Y0		S32	0
-	CELL.XSIZE	S32	2048
-	CELL.YSIZE	S32	2048
+	CELL.XSIZE	S32	1024
+	CELL.YSIZE	S32	1024
 	CELL.XWINDOW	S32	0
 	CELL.YWINDOW	S32	0
Index: branches/simtest_nebulous_branches/ippconfig/simtest/ppImage.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simtest/ppImage.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simtest/ppImage.config	(revision 27840)
@@ -59,4 +59,5 @@
   FLAT            BOOL    TRUE            # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    TRUE		  # Source identification and photometry
@@ -79,4 +80,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE		  # Source identification and photometry
@@ -99,4 +101,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE		  # Source identification and photometry
@@ -119,4 +122,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE		  # Source identification and photometry
@@ -139,4 +143,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE		  # Source identification and photometry
@@ -159,4 +164,5 @@
   FLAT            BOOL    FALSE           # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE		  # Source identification and photometry
@@ -179,4 +185,5 @@
   FLAT            BOOL    TRUE            # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE		  # Source identification and photometry
@@ -199,4 +206,5 @@
   FLAT            BOOL    TRUE            # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    FALSE		  # Source identification and photometry
@@ -219,4 +227,5 @@
   FLAT            BOOL    TRUE            # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    TRUE		  # Source identification and photometry
@@ -239,4 +248,5 @@
   FLAT            BOOL    TRUE            # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    TRUE		  # Source identification and photometry
@@ -260,4 +270,5 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD 	   BOOL	   FALSE	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
@@ -289,4 +300,5 @@
   FLAT            BOOL    TRUE            # Flat-field normalisation
   MASK            BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD	  BOOL	  FALSE		  # Build internal mask?
   FRINGE          BOOL    FALSE           # Fringe subtraction
   PHOTOM          BOOL    TRUE		  # Source identification and photometry
Index: branches/simtest_nebulous_branches/ippconfig/simtest/ppSim.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simtest/ppSim.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simtest/ppSim.config	(revision 27840)
@@ -3,4 +3,55 @@
 # for a quick test, we are going to skip shutter and dark corrections
 TESTDATA  METADATA
+ PSF.MODEL       STR     PS_MODEL_PGAUSS
+ SHUTTER.TIME	 F32	 0.0
+ DARK.RATE       F32     0.0         
+ SCATTER.FRAC    F32     0.0
+ BIAS            BOOL    FALSE
+ FLAT            BOOL    FALSE
+ BIAS.LEVEL	 F32	 1000.0		# Bias level (e)
+ BIAS.RANGE	 F32	 20.0		# Range of bias values (e)
+ BIAS.ORDER	 S32 	 7		# Order for overscan polynomial
+
+ STARS.MAG	 F32	 10.0		# Brightest magnitude for fake stars
+ STARS.DENSITY	 F32     100.0		# Stellar density (per square degree) at the brightest magnitude
+ STARS.SIGMA.LIM F32     2.0            # significance of faintest sources
+ STARS.LUM	 F32	 0.35		# Stellar luminosity function slope (magnitude slope)
+END
+
+# for a quick test, we are going to skip shutter and dark corrections
+STACKTEST.MAKE  METADATA
+ PSF.MODEL       STR     PS_MODEL_PGAUSS
+ SHUTTER.TIME	 F32	 0.0
+ DARK.RATE       F32     0.0         
+ SCATTER.FRAC    F32     0.0
+ BIAS            BOOL    FALSE
+ FLAT            BOOL    FALSE
+ BIAS.LEVEL	 F32	1000.0		# Bias level (e)
+ BIAS.RANGE	 F32	20.0		# Range of bias values (e)
+ BIAS.ORDER	 S32	7		# Order for overscan polynomial
+
+ # generate a set of fake stars
+ STARS.REAL	 BOOL	FALSE		# Add stars from a catalogue?
+ STARS.FAKE      BOOL   TRUE		# Add fake stars, randomly distributed?
+ MATCH.DENSITY   BOOL   TRUE            # significance of faintest sources
+
+ # parameters of fake stars
+ STARS.MAG	 F32	 10.0		# Brightest magnitude for fake stars
+ STARS.DENSITY	 F32     100.0		# Stellar density (per square degree) at the brightest magnitude
+ STARS.SIGMA.LIM F32     1.0            # significance of faintest sources
+ STARS.LUM	 F32	 0.35		# Stellar luminosity function slope (magnitude slope)
+
+ EXPTIME     	 F32    10.0
+ RA          	 F32    5.0
+ DEC         	 F32    5.0
+ PA          	 F32    0.0
+ SEEING      	 F32    1.0
+ SCALE       	 F32    0.25
+ ZEROPOINT   	 F32    25.0
+ SKY.MAGS    	 F32    22.0
+END
+
+# for a quick test, we are going to skip shutter and dark corrections
+STACKTEST.RUN  METADATA
  PSF.MODEL       STR     PS_MODEL_GAUSS
  SHUTTER.TIME	 F32	 0.0
@@ -8,7 +59,28 @@
  SCATTER.FRAC    F32     0.0
  BIAS            BOOL    FALSE
+ FLAT            BOOL    FALSE
  BIAS.LEVEL	 F32	1000.0		# Bias level (e)
  BIAS.RANGE	 F32	20.0		# Range of bias values (e)
  BIAS.ORDER	 S32	7		# Order for overscan polynomial
+
+ # generate a set of fake stars
+ STARS.REAL	 BOOL	TRUE		# Add stars from a catalogue?
+ STARS.FAKE      BOOL   FALSE		# Add fake stars, randomly distributed?
+ MATCH.DENSITY   BOOL   TRUE            # significance of faintest sources
+
+ # parameters of fake stars
+ STARS.MAG	 F32	 10.0		# Brightest magnitude for fake stars
+ STARS.DENSITY	 F32     1.0		# Stellar density (per square degree) at the brightest magnitude
+ STARS.SIGMA.LIM F32     0.1            # significance of faintest sources
+ STARS.LUM	 F32	 0.35		# Stellar luminosity function slope (magnitude slope)
+
+ EXPTIME     	 F32    10.0
+ RA          	 F32    5.0
+ DEC         	 F32    5.0
+ PA          	 F32    0.0
+ SEEING      	 F32    1.0
+ SCALE       	 F32    0.25
+ ZEROPOINT   	 F32    25.0
+ SKY.MAGS    	 F32    22.0
 END
 
Index: branches/simtest_nebulous_branches/ippconfig/simtest/ppStack.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simtest/ppStack.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simtest/ppStack.config	(revision 27840)
@@ -1,2 +1,3 @@
 PSF.MODEL	STR	PS_MODEL_GAUSS	# Model for PSF generation
 DECONV.LIMIT	F32	1.5		# Deconvolution fraction for rejecting entire image
+IMAGE.REJ	F32	0.3		# Rejected pixel fraction threshold for rejecting entire image
Index: branches/simtest_nebulous_branches/ippconfig/simtest/ppSub.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simtest/ppSub.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simtest/ppSub.config	(revision 27840)
@@ -1,1 +1,55 @@
 ### Recipe file for ppSub
+
+STAMP.SPACING   F32	100		# Typical spacing between stamps (pixels)
+
+RENORM		BOOL	FALSE		# Renormalize weight maps?
+
+DUAL		BOOL	FALSE		# Dual convolution?
+
+TEST.RADIAL METADATA
+  KERNEL.TYPE	STR	ISIS_RADIAL    	# Kernel type to use (POIS|ISIS|SPAM|FRIES|GUNK|RINGS)
+  #@ISIS.WIDTHS	F32     2.2  3.3  5.0   # Gaussian FWHMs for ISIS kernels -- good
+  #@ISIS.WIDTHS	F32     2.0  3.3  5.4   # Gaussian FWHMs for ISIS kernels -- good
+  @ISIS.WIDTHS	F32     1.8  3.3  5.8   # Gaussian FWHMs for ISIS kernels -- good
+  #@ISIS.WIDTHS	F32	1.6  3.3  6.6   # Gaussian FWHMs for ISIS kernels -- poor (+/- 3.0%, some pix ringing)
+
+  #@ISIS.WIDTHS	F32     1.7  3.0  5.3   # Gaussian FWHMs for ISIS kernels -- good
+  #@ISIS.WIDTHS	F32     2.3  4.0  7.0   # Gaussian FWHMs for ISIS kernels -- bad (ringing and large swings)
+  #@ISIS.WIDTHS	F32     2.1  3.6  6.3   # Gaussian FWHMs for ISIS kernels -- ok (no ringing, but larger kernel and 1.5% swings)
+
+  #@ISIS.WIDTHS	F32     1.5  2.5  4.1   # Gaussian FWHMs for ISIS kernels -- good (+/- 1.2%)
+  #@ISIS.WIDTHS	F32     1.5  2.5  9.0   # Gaussian FWHMs for ISIS kernels -- some ringing
+  #@ISIS.WIDTHS	F32	1.5  2.5  6.8   # Gaussian FWHMs for ISIS kernels -- good (+/- 1.1%?)
+  #@ISIS.WIDTHS	F32	2.4  4.0  10.9  # Gaussian FWHMs for ISIS kernels -- bad (lots of pixel-to-pixel ringing...)
+  #@ISIS.WIDTHS	F32	1.8  3.0  8.2   # Gaussian FWHMs for ISIS kernels -- not bad (+/- 1.5%)
+  #@ISIS.WIDTHS	F32	2.0  3.3  9.0   # Gaussian FWHMs for ISIS kernels -- good (+/- 1.0%)
+  # @ISIS.ORDERS	S32	2    2    2     # Polynomial orders for ISIS kernels
+  # @ISIS.ORDERS	S32	4 4 4		# Polynomial orders for ISIS kernels
+  @ISIS.ORDERS	S32	2 2 2		# Polynomial orders for ISIS kernels
+END
+
+TEST.ISIS METADATA
+  KERNEL.TYPE	STR	ISIS    	# Kernel type to use (POIS|ISIS|SPAM|FRIES|GUNK|RINGS)
+  @ISIS.WIDTHS	F32	1.8 3.3 5.8   	# Gaussian FWHMs for ISIS kernels
+  # @ISIS.WIDTHS	F32	1 2 4 8   	# Gaussian FWHMs for ISIS kernels
+  @ISIS.ORDERS	S32	2 2 2		# Polynomial orders for ISIS kernels
+  # @ISIS.ORDERS	S32	2 2 2 2		# Polynomial orders for ISIS kernels
+  # @ISIS.ORDERS	S32	4 4 4		# Polynomial orders for ISIS kernels
+END
+
+TEST.HERM METADATA
+  KERNEL.TYPE	STR	HERM            # Kernel type to use (POIS|ISIS|SPAM|FRIES|GUNK|RINGS)
+  @ISIS.WIDTHS	F32	2.0		# Gaussian FWHMs for ISIS or HERM kernels
+  @ISIS.ORDERS	S32	8   		# Polynomial orders for ISIS kernels
+END
+
+TEST.DECON METADATA
+  KERNEL.TYPE	STR	DECONV_HERM	# Kernel type to use (POIS|ISIS|SPAM|FRIES|GUNK|RINGS)
+  @ISIS.WIDTHS	F32	3.7		# Gaussian FWHMs for ISIS or HERM kernels
+  @ISIS.ORDERS	S32	8   		# Polynomial orders for ISIS kernels
+END
+
+SPATIAL.ORDER   S32	0		# Spatial polynomial order
+
+#STAMP.FOOTPRINT S32	25		# Size of stamps (pixels)
+#KERNEL.SIZE     S32	25		# Kernel half-size (pixels)
Index: branches/simtest_nebulous_branches/ippconfig/simtest/psastro.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simtest/psastro.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simtest/psastro.config	(revision 27840)
@@ -3,5 +3,5 @@
 
 PSASTRO.GRID.OFFSET    F32    500.
-PSASTRO.GRID.SCALE     F32     50.
+PSASTRO.GRID.SCALE     F32     10.
 
 PSASTRO.IGNORE         STR    CRLIMIT,SATURATED,DEFECT,BLEND
@@ -9,5 +9,5 @@
 PSASTRO.CATDIR		STR	SYNTH.SIMTEST
 DVO.GETSTAR.PHOTCODE	STR	r
-PSASTRO.MAX.NSTAR	S32	50	# max stars accepted for fitting
+PSASTRO.MAX.NSTAR	S32	200	# max stars accepted for fitting
 DVO.GETSTAR.MAX.RHO     F32    10000.0
 DVO.GETSTAR.MIN.MAG     F32      10.0
@@ -34,2 +34,3 @@
   PHOTCODE STR z_SYNTH
 END
+
Index: branches/simtest_nebulous_branches/ippconfig/simtest/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/simtest/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/simtest/psphot.config	(revision 27840)
@@ -1,36 +1,5 @@
 
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.BACKGND	BOOL 	TRUE
-SAVE.BACKSUB	BOOL 	TRUE
-SAVE.PLOTS      BOOL    TRUE
-SAVE.RESID	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
-LOAD.PSF	BOOL 	FALSE
-
-IMSTATS_NPIX        S32  3000    	 # number of pixels to use for sky estimate boxes:
-SKY_INNER_RADIUS    F32    10            # square annulus for local sky measurement
-
-PSF_MOMENTS_RADIUS  F32    7               # calculate initial source moments with this radius
-
-#PSPHOT_TEST METADATA
-# SAVE.BACKSUB	BOOL 	FALSE
-# SAVE.RESID	BOOL 	TRUE
-#END
-#
-#PEAKS_OUTPUT_FILE   STR  peaks.dat
-#MOMENTS_OUTPUT_FILE STR  moments.dat
-
-#PSF_SN_LIM          F32  20.0            # minimum S/N for stars used for PSF model
-MOMENTS_SN_MIN      F32  10.0            # min S/N to measure moments
-FULL_FIT_SN_LIM     F32  100.0
-EXT_MIN_SN          F32  100.0           # fit galaxies above this S/N limit
-
-MOMENTS_SX_MAX                      F32   25.0
-MOMENTS_SY_MAX                      F32   25.0
-
-PEAKS_NSIGMA_LIMIT   F32  25.0 	 	 # peak significance threshold
-PEAKS_NSIGMA_LIMIT_2 F32  10.0 	   	 # peak significance threshold
-BREAK_POINT         STR  NONE            # limit total processing for now (for speed)
-
-
-SKY_STAT            STR  ROBUST_MEDIAN   # statistic used to measure background
+# same as ppSim.config (if YES, <apResid> should be 0.0)
+# ppSim currently uses PS_MODEL_GAUSS
+PSF_MODEL                           STR   PS_MODEL_GAUSS
+PSF_CLUMP_GRID_SCALE                F32   1.0             # size of Sx,Sy image pixel
Index: branches/simtest_nebulous_branches/ippconfig/site.config.in
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/site.config.in	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/site.config.in	(revision 27840)
@@ -66,3 +66,6 @@
 PSTAMP_DATA_STORE_ROOT STR PATH
 
+TEMP.DIR	STR	/tmp	# Directory for temporary products
+
+
 # other basic values:
Index: branches/simtest_nebulous_branches/ippconfig/system.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/system.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/system.config	(revision 27840)
@@ -3,19 +3,20 @@
 ### Setups for each camera system
 CAMERAS		METADATA
- 	MEGACAM			STR	megacam/camera.config		# CFHT MegaCam
-  	CFH12K			STR	cfh12k/camera.config		# CFHT 12K
-  	ISP-Apogee     		STR	isp/camera.config		# Pan-STARRS Imaging sky probe
-  	MOSAIC2 		STR	mosaic2/camera.config	        # CTIO MOSAIC2 camera, for ESSENCE
-  	SDSSmosaic		STR	sdssmosaic/camera.config	# SDSS, mosaic version
-  	SDSS			STR	sdss/camera.config		# Sloan Digital Sky Survey
-  	GPC1			STR	gpc1/camera.config		# Pan-STARRS GPC1
-  	ESOWFI			STR	esowfi/camera.config		# ESO Wide-Field Imager
-  	LBCRED                  STR     lbc_red/camera.config           # Large Binocular Camera Red
-  	LULIN			STR	lulin/camera.config		# Lulin Optical Telescope 1m
-  	UH8K			STR	uh8k/camera.config		# WFI/8k on UH88
-  	VYSOS5			STR	vysos5/camera.config		# VYSOS 5in
-  	SIMMOSAIC		STR	simmosaic/camera.config		# Simulated mosaic, for testing
- 	SIMTEST			STR	simtest/camera.config		# Simulation test camera
- 	SIMPLE			STR	simple/camera.config		# If all else fails....
+	MEGACAM			STR	megacam/camera.config		# CFHT MegaCam
+	CFH12K			STR	cfh12k/camera.config		# CFHT 12K
+	ISP-Apogee     		STR	isp/camera.config		# Pan-STARRS Imaging sky probe
+	MOSAIC2 		STR	mosaic2/camera.config	        # CTIO MOSAIC2 camera, for ESSENCE
+	SDSSmosaic		STR	sdssmosaic/camera.config	# SDSS, mosaic version
+	SDSS			STR	sdss/camera.config		# Sloan Digital Sky Survey
+	GPC1			STR	gpc1/camera.config		# Pan-STARRS GPC1
+	ESOWFI			STR	esowfi/camera.config		# ESO Wide-Field Imager
+	LBCRED                  STR     lbc_red/camera.config           # Large Binocular Camera Red
+	LULIN			STR	lulin/camera.config		# Lulin Optical Telescope 1m
+	UH8K			STR	uh8k/camera.config		# WFI/8k on UH88
+	VYSOS5			STR	vysos5/camera.config		# VYSOS 5in
+	VYSOS20			STR	vysos20/camera.config		# VYSOS 5in
+	SIMMOSAIC		STR	simmosaic/camera.config		# Simulated mosaic, for testing
+	SIMTEST			STR	simtest/camera.config		# Simulation test camera
+	SIMPLE			STR	simple/camera.config		# If all else fails....
 END
 
@@ -50,7 +51,11 @@
 	JPEG		STR		recipes/jpeg.mdc	# JPEG creation
  	PPSTATS_METADATA STR		recipes/ppStatsFromMetadata.config # Image statistics
+	DQSTATS         STR             recipes/dqStatsTool.config # data quality statistics
  	DVOCORR         STR		recipes/dvocorr.config # Image statistics
 	PPSKYCELL	STR		recipes/ppSkycell.config  # JPEGs of skycells
 	PPNOISEMAP	STR		recipes/ppNoiseMap.config # used to create the noise map
 	CENSOR		STR		recipes/censor.config # used to create the noise map
+	PPSMOOTH	STR		recipes/ppSmooth.config  # stand-alone image smoothing
+	PPVIZPSF	STR		recipes/ppVizPSF.mdc # PSF visualisation
+        NIGHTLY_SCIENCE STR             recipes/nightly_science.config # Nightly Science
 END
Index: branches/simtest_nebulous_branches/ippconfig/tek/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/tek/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/tek/camera.config	(revision 27840)
@@ -60,4 +60,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD  STR	hdr
Index: branches/simtest_nebulous_branches/ippconfig/tek/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/tek/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/tek/psphot.config	(revision 27840)
@@ -1,57 +1,3 @@
-
-# turn these on to see specific outputs
-#SAVE.BACKMDL	BOOL 	TRUE
-#SAVE.BACKGND	BOOL 	TRUE
-#SAVE.BACKSUB	BOOL 	TRUE
-SAVE.RESID	BOOL 	TRUE
-#SAVE.PSF	BOOL 	TRUE
-
-# image statistics parameters
-IMSTATS_NPIX        S32  3000    	 # number of pixels to use for sky estimate boxes:
-
-PSF_SN_LIM          F32  10              # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
 
 PSF_MODEL         STR  PS_MODEL_QGAUSS
 
-MOMENTS_SN_MIN      F32   10.0
-#EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-#FULL_FIT_SN_LIM      F32  50.0
-#AP_MIN_SN            F32  20.0
-PSF_CLUMP_NSIGMA   F32  2.5             # region of Sx,Sy plane to use for selecting PSF stars
-
-# PSFTREND must be a 2D polynomial
-# the specified values are ignored but define the active components of the polynomial
-PSF.TREND.MASK  METADATA  
-   NORDER_X         S32       3                # number of x orders
-   NORDER_Y         S32       3                # number of y orders
-   VAL_X00_Y00      F64       1                # polynomial coefficient
-
-   VAL_X01_Y00      F64       1                # polynomial coefficient
-   VAL_X00_Y01      F64       1                # polynomial coefficient
-
-   VAL_X02_Y00      F64       1                # polynomial coefficient
-   VAL_X01_Y01      F64       1                # polynomial coefficient
-   VAL_X00_Y02      F64       1                # polynomial coefficient
-
-   VAL_X03_Y00      F64       1                # polynomial coefficient
-   VAL_X02_Y01      F64       1                # polynomial coefficient
-   VAL_X01_Y02      F64       1                # polynomial coefficient
-   VAL_X00_Y03      F64       1                # polynomial coefficient
-   NELEMENTS        S32       10               # number of unmasked components
-END  # folder for 4D polynomial
-
-XMIN F32 15
-PSF.RESIDUALS       BOOL false
-BREAK_POINT         STR  ENSEMBLE
-OUTPUT.FORMAT       STR  PS1_DEV_0
-
-PSPHOT.SUMMIT METADATA
- PEAKS_SMOOTH_SIGMA  F32  0.8 	   	 # peak significance threshold
- PEAKS_NSIGMA_LIMIT  F32  50.0 	   	 # peak significance threshold
- PEAKS_NMAX          S32  1000
- SAVE.RESID	BOOL 	FALSE
- PSF_SN_LIM          F32  25              # minimum S/N for stars used for PSF model
- MOMENTS_SN_MIN      F32   25.0
- PSF_MODEL         STR  PS_MODEL_PGAUSS
-END
Index: branches/simtest_nebulous_branches/ippconfig/ucam/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/ucam/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/ucam/psphot.config	(revision 27840)
@@ -1,27 +1,2 @@
 
-# turn these on to see specific outputs
-#SAVE.BACKMDL	BOOL 	TRUE
-#SAVE.BACKGND	BOOL 	TRUE
-#SAVE.BACKSUB	BOOL 	TRUE
-SAVE.RESID	BOOL 	TRUE
-#SAVE.PSF	BOOL 	TRUE
-#LOAD.PSF	BOOL 	FALSE
-
-IMSTATS_NPIX        S32  1000    	 # number of pixels to use for sky estimate boxes:
-
-PSF_SN_LIM          F32  100             # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
-
-# PSF model parameters : choose the PSF model
-# list as many PSF_MODEL options as desired
-# if you want to list multiple entries, uncomment 'MULTI' here
-# PSF_MODEL           MULTI
 PSF_MODEL           STR  PS_MODEL_QGAUSS
-# PSF_MODEL           STR  PS_MODEL_GAUSS
-# PSF_MODEL           STR  PS_MODEL_PGAUSS
-# PSF_MODEL           STR  PS_MODEL_TGAUSS  ## not well tested, not very successful
-
-MOMENTS_SN_MIN      F32  20.0           # min S/N to measure moments
-EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-FULL_FIT_SN_LIM      F32  50.0
-AP_MIN_SN            F32  25.0
Index: branches/simtest_nebulous_branches/ippconfig/uh8k/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/uh8k/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/uh8k/camera.config	(revision 27840)
@@ -70,4 +70,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD   STR {CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/uh8k/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/uh8k/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/uh8k/psphot.config	(revision 27840)
@@ -1,37 +1,5 @@
-
-# turn these on to see specific outputs
-SAVE.OUTPUT	BOOL 	TRUE
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.PSF	BOOL 	TRUE
-SAVE.PLOTS     	BOOL    TRUE
-
-BACKGROUND.XBIN	    S32  128            # size of background superpixels
-BACKGROUND.YBIN	    S32  128            # size of background superpixels
-
-# image background parameters
-IMSTATS_NPIX        S32  10000    	 # number of pixels to use for sky estimate boxes:
-SKY_STAT            STR  FITTED_MEAN_V4  # statistic used to measure background
-SKY_CLIP_SIGMA      F32  2.0             # statistic used to measure background
-
-PSF_SN_LIM          F32  100             # minimum S/N for stars used for PSF model
-PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
 
 # PSF model parameters : choose the PSF model desired
 PSF_MODEL           STR  PS_MODEL_QGAUSS
-
-MOMENTS_SN_MIN      F32   30.0
-EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
-FULL_FIT_SN_LIM      F32  50.0
-AP_MIN_SN            F32  50.0
-
-# OUTPUT.FORMAT       STR SMPDATA
-OUTPUT.FORMAT       STR PS1_DEV_1
-
-PSF_SHAPE_NSIGMA     F32  3.0		 # max significance for shape variation
-PSF_MAX_CHI          F32  50.0		 # reject objects worse that this
-
-#PSF.TREND.MODE STR MAP
-#PSF.TREND.NX   S32 1
-#PSF.TREND.NY   S32 1
 
 DIAGNOSTIC.PLOTS		METADATA
@@ -40,4 +8,2 @@
   IMAGE.BACKGROUND.CELL.HISTOGRAM.Y S32 12
 END
-
-USE_FOOTPRINTS                      BOOL  TRUE       	  # use new pmFootprint peak packaging
Index: branches/simtest_nebulous_branches/ippconfig/vysos20/Makefile.am
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos20/Makefile.am	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/vysos20/Makefile.am	(revision 27840)
@@ -0,0 +1,19 @@
+
+installdir = $(datadir)/ippconfig/vysos20
+
+install_files = \
+	camera.config \
+	format.config \
+	format_flipped.config \
+	psphot.config \
+	psastro.config \
+	ppImage.config
+
+install_DATA = $(install_files)
+
+install-data-hook:
+	chmod 0755 $(installdir)
+
+EXTRA_DIST = $(install_files)
+
+ACLOCAL_AMFLAGS = -I m4
Index: branches/simtest_nebulous_branches/ippconfig/vysos20/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos20/camera.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/vysos20/camera.config	(revision 27840)
@@ -0,0 +1,78 @@
+# Camera configuration file for simulation test
+
+# File formats that we know about
+FORMATS         METADATA
+        FLIPPED STR     vysos20/format_flipped.config
+        SIMPLE  STR     vysos20/format.config
+END
+ 
+# Description of camera --- all the chips and the cells that comprise them
+FPA     METADATA
+        Chip            STR     Cell
+END
+
+# valid filter names and corresponding IDs
+FILTER.ID       METADATA
+        NONE    STR     NONE
+        g       STR     PSg
+        r       STR     PSr
+        i       STR     PSi
+        z       STR     PSz
+END
+
+# Table of strings to use for the class identifier (see ippdb) according to the file level.
+CLASSID         METADATA
+        FPA     STR     fpa
+END
+
+DVO.CAMERADIR   STR     vysos20          # Camera directory for DVO
+
+# convert supplied FPA.OBSTYPE values to abstract exptype names
+OBSTYPE.TABLE METADATA
+  bias     STR BIAS
+  zero     STR BIAS
+  dark     STR DARK
+  flat     STR SKYFLAT
+  skyflat  STR SKYFLAT
+  domeflat STR DOMEFLAT
+  object   STR OBJECT
+  science  STR OBJECT
+  light    STR OBJECT
+END
+
+# Recipe options
+RECIPES         METADATA
+        PPIMAGE         STR     vysos20/ppImage.config   # Default: all (normal) options on
+        PSPHOT          STR     vysos20/psphot.config    # psphot details
+        PSASTRO         STR     vysos20/psastro.config   # psastro details
+        # PPSIM           STR     vysos20/ppSim.config     # ppSim details
+        # PPSUB           STR     vysos20/ppSub.config     # ppSub details
+        # REJECTIONS      STR     vysos20/rejections.config # Rejection for detrend creation
+END
+
+# reduction classes (recipes which are grouped together)
+REDUCTION       STR     recipes/reductionClasses.mdc
+
+FITSTYPES       STR     recipes/fitstypes.mdc
+
+FILERULES       STR     recipes/filerules-simple.mdc
+
+EXTNAME.RULES METADATA
+  CMF.HEAD STR {CHIP.NAME}.hdr
+  CMF.DATA STR {CHIP.NAME}.psf # use .PSF and .EXT?
+  CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
+  CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
+
+  PSF.HEAD  STR {CHIP.NAME}.hdr
+  PSF.TABLE STR {CHIP.NAME}.psf_model
+  PSF.RESID STR {CHIP.NAME}.psf_resid
+END
+
+BLANK.HEADERS   METADATA
+        FPA.TIME        STR     MJD-OBS
+        FPA.EXPOSURE    STR     EXPTIME
+        FPA.AIRMASS     STR     AIRMASS
+END
+
+PHOTCODE.RULE           STR     {DETECTOR}.{FILTER.ID}          # Rule for generating photcode
Index: branches/simtest_nebulous_branches/ippconfig/vysos20/dvo.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos20/dvo.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/vysos20/dvo.config	(revision 27840)
@@ -0,0 +1,70 @@
+
+# location of DVO database tables
+CATDIR			/data/alala.0/eugene/isp/catdir
+
+# keywords used by DVO to interpret the headers
+
+# keyword abstractions:
+DATE-KEYWORD		DATE
+DATE-MODE		dd/mm/yy
+UT-KEYWORD		NONE
+
+# XXX MAJOR hack...
+JD-KEYWORD		XBINNING 
+MJD-KEYWORD		NONE
+
+# other keyword abstractions
+EXPTIME-KEYWORD		EXPTIME
+AIRMASS-KEYWORD		AIRMASS
+CCDNUM-KEYWORD		EXTNAME
+ST-KEYWORD		NONE
+OBSERVATORY-LATITUDE	NONE
+OBSERVATORY-LONGITUDE	NONE
+SUBPIX_DATAFILE		NONE
+
+# instrumental magnitude range for calibration mode 
+CAL_INSTMAG_MAX		0
+CAL_INSTMAG_MIN		0
+
+# exclude overscan region from the dB image boundaries
+XOVERSCAN		0
+YOVERSCAN		0
+
+# only upload stars within region; a value of 0 means ignore the limit
+ADDSTAR_XMIN		0
+ADDSTAR_XMAX		0
+ADDSTAR_YMIN		0
+ADDSTAR_YMAX		0
+
+# exclude stars with SN > SNLIMIT (ADDSTAR_SNLIMIT overrides old name MIN_SN_FSTAT)
+ADDSTAR_SNLIMIT		0
+
+# correlation radius (arcseconds)
+ADDSTAR_RADIUS		1.0
+
+# scaled correlation radius 
+ADDSTAR_NSIGMA		0
+
+MOSAICNAME              VYSOS5
+IMAGE_SCATTER           0.075  # mark images POOR if stdev(Mcal) > IMAGE_SCATTER
+STAR_SCATTER            0.005  # mark stars POOR if stdev(Mrel) > STAR_SCATTER
+IMAGE_OFFSET            0.100  # mark images POOR if abs(delta(Mcal)) > IMAGE_OFFSET
+STAR_CHISQ              10.0   # mark stars POOR if Xm > STAR_CHISQ
+STAR_TOOFEW              3     # mark star FEW if N(good) < STAR_TOOFEW
+IMAGE_TOOFEW            10     # mark image FEW if N(good) < IMAGE_TOOFEW
+IMAGE_GOOD_FRACTION     0.05   # mark image FEW if N(good) < IMAGE_GOOD_FRACTION * Nstars
+
+SCATTER_LIM             15.0
+MAG_LIM                 20.0   # select stars brighter than this for relphot analysis
+SIGMA_LIM               0.015  # select measurements with dM < SIGMA_LIM for relphot analysis
+# INST_MAG_MIN         -17     # optional constraints on magnitude ranges
+# INST_MAG_MAX         -13     # optional constraints on magnitude ranges
+
+RELPHOT_GRID_BINNING    256
+RELPHOT_GRID_X 6
+RELPHOT_GRID_Y 14
+
+PM_DT_MIN               0.25
+PM_TOOFEW               4
+POS_TOOFEW              1
+
Index: branches/simtest_nebulous_branches/ippconfig/vysos20/format.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos20/format.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/vysos20/format.config	(revision 27840)
@@ -0,0 +1,81 @@
+# Simulation test camera with single chip with single cell
+
+# How to identify this type
+RULE	METADATA
+	TELESCOP	STR	VYSOS-20
+	INSTRUME	STR	Apogee USB/Net
+END
+
+# How to read this data
+FILE	METADATA
+	PHU		STR	FPA	# The FITS file represents an entire FPA
+	EXTENSIONS	STR	NONE	# There are no extensions
+	FPA.OBS		STR	OBJECT	# A PHU keyword for unique identifier within the hierarchy level
+END
+
+# What's in the FITS file?
+CONTENTS	STR	Chip:Cell:amplifier
+
+# Specify the cell data
+CELLS	METADATA
+	amplifier	METADATA
+		CELL.TRIMSEC.SOURCE	STR	VALUE
+		CELL.TRIMSEC		STR	[1:4098,10:4098]
+		CELL.BIASSEC.SOURCE	STR	VALUE
+		CELL.BIASSEC		STR	[1:4098,1:9]
+	END
+END
+
+# How to translate PS concepts into FITS headers
+TRANSLATION	METADATA
+	FPA.OBSTYPE	STR	IMAGETYP
+        FPA.FILTERID    STR     FILTER
+	FPA.FILTER	STR	FILTER
+	FPA.RA		STR	OBJCTRA
+	FPA.DEC		STR	OBJCTDEC
+	FPA.OBJECT	STR	OBJECT
+        FPA.COMMENT     STR     NOTES
+	FPA.TIME	STR	DATE-OBS	# Date and time
+	FPA.EXPOSURE	STR	EXPTIME
+        FPA.TEMP        STR     CCD-TEMP
+	FPA.AIRMASS	STR	AIRMASS ## XXX need to fix this! (ALT, AZ, LAT, LONG are provided)
+	CHIP.TEMP	STR     CCD-TEMP
+	CELL.EXPOSURE	STR	EXPTIME
+	CELL.DARKTIME	STR	DARKTIME
+	CELL.TIME	STR	DATE-OBS	# Date and time
+	CELL.XBIN	STR	XBINNING
+	CELL.YBIN	STR	YBINNING
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS	METADATA
+	FPA.TELESCOPE	STR	VYSOS20
+	FPA.INSTRUMENT	STR	VYSOS20
+	FPA.DETECTOR	STR	VYSOS20
+	FPA.POSANGLE	STR	0.0
+	FPA.TIMESYS	STR	UTC ## XXX need to fix error handling when this is in TRANSLATION but not supplied
+	FPA.RADECSYS	F32	2000.0 ## equinox of radec
+	CELL.SATURATION	F32	60000
+	CELL.BAD	F32	-100 ## XXX this value is bogus, but needs to be context based so residual images do not get half-masked
+	CELL.READDIR	S32	2
+	CELL.TIMESYS	STR	UTC
+	CELL.XPARITY	S32	1
+	CELL.YPARITY	S32	1
+	CHIP.XPARITY	S32	1
+	CHIP.YPARITY	S32	1
+	CELL.X0		S32	0
+	CELL.Y0		S32	0
+	CELL.XSIZE	S32	2048
+	CELL.YSIZE	S32	2048
+	CELL.XWINDOW	S32	0
+	CELL.YWINDOW	S32	0
+	CELL.GAIN	F32	0.2
+	CELL.READNOISE	F32	4.6
+END
+
+FORMATS		METADATA
+	FPA.RA		STR	HOURS
+	FPA.DEC		STR	DEGREES
+	FPA.TIME	STR	YEAR.FIRST
+	CELL.TIME	STR	YEAR.FIRST
+END
Index: branches/simtest_nebulous_branches/ippconfig/vysos20/format_flipped.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos20/format_flipped.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/vysos20/format_flipped.config	(revision 27840)
@@ -0,0 +1,82 @@
+# Simulation test camera with single chip with single cell
+
+# How to identify this type
+RULE	METADATA
+	TELESCOP	STR	VYSOS-20
+	INSTRUME	STR	Apogee USB/Net
+	FLIPSTAT	STR	Flip/Mirror
+END
+
+# How to read this data
+FILE	METADATA
+	PHU		STR	FPA	# The FITS file represents an entire FPA
+	EXTENSIONS	STR	NONE	# There are no extensions
+	FPA.OBS		STR	OBJECT	# A PHU keyword for unique identifier within the hierarchy level
+END
+
+# What's in the FITS file?
+CONTENTS	STR	Chip:Cell:amplifier
+
+# Specify the cell data
+CELLS	METADATA
+	amplifier	METADATA
+		CELL.TRIMSEC.SOURCE	STR	VALUE
+		CELL.TRIMSEC		STR	[1:4098,1:4089]
+		CELL.BIASSEC.SOURCE	STR	VALUE
+		CELL.BIASSEC		STR	[1:4098,4090:4098]
+	END
+END
+
+# How to translate PS concepts into FITS headers
+TRANSLATION	METADATA
+	FPA.OBSTYPE	STR	IMAGETYP
+        FPA.FILTERID    STR     FILTER
+	FPA.FILTER	STR	FILTER
+	FPA.RA		STR	OBJCTRA
+	FPA.DEC		STR	OBJCTDEC
+	FPA.OBJECT	STR	OBJECT
+        FPA.COMMENT     STR     NOTES
+	FPA.TIME	STR	DATE-OBS	# Date and time
+	FPA.EXPOSURE	STR	EXPTIME
+        FPA.TEMP        STR     CCD-TEMP
+	CHIP.TEMP	STR     CCD-TEMP
+	CELL.EXPOSURE	STR	EXPTIME
+	CELL.DARKTIME	STR	DARKTIME
+	CELL.TIME	STR	DATE-OBS	# Date and time
+	CELL.XBIN	STR	XBINNING
+	CELL.YBIN	STR	YBINNING
+	FPA.TIMESYS	STR	TIMESYS
+	FPA.RADECSYS	STR	RADECSYS
+	FPA.AIRMASS	STR	AIRMASS ## XXX need to fix this! (ALT, AZ, LAT, LONG are provided)
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS	METADATA
+	FPA.TELESCOPE	STR	VYSOS20
+	FPA.INSTRUMENT	STR	VYSOS20
+	FPA.DETECTOR	STR	VYSOS20
+	FPA.POSANGLE	STR	180.0
+	CELL.SATURATION	F32	60000
+	CELL.BAD	F32	-100 ## XXX this value is bogus, but needs to be context based so residual images do not get half-masked
+	CELL.READDIR	S32	2
+	CELL.TIMESYS	STR	UTC
+	CELL.XPARITY	S32	-1
+	CELL.YPARITY	S32	-1
+	CHIP.XPARITY	S32	1
+	CHIP.YPARITY	S32	1
+	CELL.X0		S32	0
+	CELL.Y0		S32	0
+	CELL.XSIZE	S32	2048
+	CELL.YSIZE	S32	2048
+	CELL.XWINDOW	S32	0
+	CELL.YWINDOW	S32	0
+	CELL.GAIN	F32	0.2
+	CELL.READNOISE	F32	4.6
+END
+
+FORMATS		METADATA
+	FPA.RA		STR	HOURS
+	FPA.DEC		STR	DEGREES
+	FPA.TIME	STR	YEAR.FIRST
+	CELL.TIME	STR	YEAR.FIRST
+END
Index: branches/simtest_nebulous_branches/ippconfig/vysos20/ppImage.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos20/ppImage.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/vysos20/ppImage.config	(revision 27840)
@@ -0,0 +1,317 @@
+### ppImage recipe configuration file for simulated test camera
+
+# default list of output products
+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?
+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? 
+
+# default list of analysis steps to perform
+OVERSCAN         BOOL    TRUE            # Overscan subtraction
+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
+FRINGE           BOOL    FALSE           # Fringe subtraction
+BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+PHOTOM           BOOL    TRUE            # Source identification and photometry
+ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+
+# apply the cell parity flips to the cells?
+APPLY.CELL.PARITY  BOOL    TRUE
+
+# binned output image options
+BIN1.XBIN               S32     8
+BIN1.YBIN               S32     8
+BIN2.XBIN               S32     64
+BIN2.YBIN               S32     64
+
+# Overscan subtraction
+OVERSCAN.SINGLE		BOOL	FALSE		# Reduce overscan to a single value?
+OVERSCAN.FIT		STR	POLYNOMIAL	# NONE | POLYNOMIAL | SPLINE
+OVERSCAN.ORDER		S32	7		# Order of polynomial fit
+OVERSCAN.STAT		STR	MEAN		# MEAN | MEDIAN
+
+# How to select the appropriate detrend image
+DETREND.CONSTRAINTS  METADATA
+  BIAS METADATA
+  END
+  MASK METADATA
+  END
+  DARK METADATA
+  END
+  FLAT METADATA
+    FILTER  STR FPA.FILTER
+  END
+  FRINGE METADATA
+    FILTER   STR FPA.FILTER
+  END
+  SHUTTER METADATA
+  END	
+END
+
+
+########################################################################################
+# Need the following in order to turn off overscan and shutter for the site-level recipe
+########################################################################################
+
+# Standard chip processing
+CHIP   METADATA
+  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?
+  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
+  BIAS             BOOL    TRUE            # XXX : use dark as bias for now
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # XXX : turn off flat for now
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE		   # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE	   # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe
+PPIMAGE_DET_ONLY     METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    FALSE           # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
+END
+
+# Overscan subtraction only
+PPIMAGE_O         METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN        BOOL    TRUE            # Overscan subtraction
+  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
+  FRINGE          BOOL    FALSE           # Fringe subtraction
+  PHOTOM          BOOL    FALSE		  # Source identification and photometry
+  ASTROM.CHIP     BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC   BOOL    FALSE		  # Astrometry for mosaic?
+END
+
+# Dark subtraction only
+PPIMAGE_D         METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN        BOOL    FALSE           # Overscan subtraction
+  BIAS            BOOL    FALSE           # Bias subtraction
+  DARK            BOOL    TRUE            # Dark subtraction
+  SHUTTER         BOOL    FALSE           # Shutter correction
+  FLAT            BOOL    FALSE           # Flat-field normalisation
+  MASK            BOOL    FALSE           # Mask bad pixels
+  FRINGE          BOOL    FALSE           # Fringe subtraction
+  PHOTOM          BOOL    FALSE		  # Source identification and photometry
+  ASTROM.CHIP     BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC   BOOL    FALSE		  # Astrometry for mosaic?
+END
+
+# Shutter correction only
+PPIMAGE_S         METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN        BOOL    FALSE           # Overscan subtraction
+  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
+  FRINGE          BOOL    FALSE           # Fringe subtraction
+  PHOTOM          BOOL    FALSE		  # Source identification and photometry
+  ASTROM.CHIP     BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC   BOOL    FALSE		  # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark
+PPIMAGE_OBD      METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN        BOOL    TRUE            # Overscan subtraction
+  BIAS            BOOL    TRUE            # Bias subtraction
+  DARK            BOOL    FALSE           # Dark subtraction
+  SHUTTER         BOOL    FALSE           # Shutter correction
+  FLAT            BOOL    FALSE           # Flat-field normalisation
+  MASK            BOOL    FALSE           # Mask bad pixels
+  FRINGE          BOOL    FALSE           # Fringe subtraction
+  PHOTOM          BOOL    FALSE		  # Source identification and photometry
+  ASTROM.CHIP     BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC   BOOL    FALSE		  # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter
+PPIMAGE_OBDS      METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN        BOOL    TRUE            # Overscan subtraction
+  BIAS            BOOL    TRUE            # Bias subtraction
+  DARK            BOOL    FALSE           # Dark subtraction
+  SHUTTER         BOOL    FALSE           # Shutter correction
+  FLAT            BOOL    FALSE           # Flat-field normalisation
+  MASK            BOOL    FALSE           # Mask bad pixels
+  FRINGE          BOOL    FALSE           # Fringe subtraction
+  PHOTOM          BOOL    FALSE		  # Source identification and photometry
+  ASTROM.CHIP     BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC   BOOL    FALSE		  # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field
+PPIMAGE_OBDSF     METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN        BOOL    TRUE            # Overscan subtraction
+  BIAS            BOOL    TRUE            # Bias subtraction
+  DARK            BOOL    FALSE           # Dark subtraction
+  SHUTTER         BOOL    FALSE           # Shutter correction
+  FLAT            BOOL    TRUE            # Flat-field normalisation
+  MASK            BOOL    FALSE           # Mask bad pixels
+  FRINGE          BOOL    FALSE           # Fringe subtraction
+  PHOTOM          BOOL    FALSE		  # Source identification and photometry
+  ASTROM.CHIP     BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC   BOOL    FALSE		  # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe
+PPIMAGE_OBDSFR    METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN        BOOL    TRUE            # Overscan subtraction
+  BIAS            BOOL    TRUE            # Bias subtraction
+  DARK            BOOL    FALSE           # Dark subtraction
+  SHUTTER         BOOL    FALSE           # Shutter correction
+  FLAT            BOOL    TRUE            # Flat-field normalisation
+  MASK            BOOL    FALSE           # Mask bad pixels
+  FRINGE          BOOL    FALSE           # Fringe subtraction
+  PHOTOM          BOOL    FALSE		  # Source identification and photometry
+  ASTROM.CHIP     BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC   BOOL    FALSE		  # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom
+PPIMAGE_OBDSFRP   METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS             BOOL    TRUE            # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE		   # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE	   # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom, astrom
+PPIMAGE_OBDSFRA   METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS            BOOL    TRUE            # Bias subtraction
+  DARK            BOOL    FALSE           # Dark subtraction
+  SHUTTER         BOOL    FALSE           # Shutter correction
+  FLAT            BOOL    TRUE            # Flat-field normalisation
+  MASK            BOOL    FALSE           # Mask bad pixels
+  FRINGE          BOOL    FALSE           # Fringe subtraction
+  PHOTOM          BOOL    TRUE		  # Source identification and photometry
+  ASTROM.CHIP     BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC   BOOL    FALSE		  # Astrometry for mosaic?
+  CHIP.MASK.FITS  BOOL    TRUE            # Save mask
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom
+PPIMAGE_FLATCORR    METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS             BOOL    TRUE            # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+
+  DETREND.CONSTRAINTS  METADATA
+    FLAT METADATA
+      DETTYPE STR FLAT_RAW
+    END
+  END   
+END
+
Index: branches/simtest_nebulous_branches/ippconfig/vysos20/psastro.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos20/psastro.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/vysos20/psastro.config	(revision 27840)
@@ -0,0 +1,119 @@
+	
+# astrometry matching parameters
+
+# nominal plate scale (microns / pixel)
+PSASTRO.PIXEL.SCALE    F32  1.0
+
+# pmAstromGridAngle
+# max grid offset in FP units (microns)
+# use plate-scale to make this in pixels?
+PSASTRO.GRID.OFFSET    F32     500.
+PSASTRO.GRID.SCALE     F32      50
+PSASTRO.GRID.NSTAR.MAX S32     800 # max stars accepted for fitting
+
+PSASTRO.MAX.NRAW      S32      1000   # max stars accepted for fitting (0 for all)
+PSASTRO.MAX.NREF      S32      2000   # max stars accepted for fitting (0 for all)
+
+# extra field for ref stars:
+PSASTRO.FIELD.PADDING  F32     0.1   # pad by this fraction of the full mosaic (may need to be larger for single chips)
+
+# 
+PSASTRO.MIN.INST.MAG.RAW       F32     -20.0   # min instrumental magnitude for stars accepted for fitting
+PSASTRO.MAX.INST.MAG.RAW       F32     -8.0   # max instrumental magnitude for stars accepted for fitting
+
+#
+# PSASTRO.GRID.MIN.ANGLE F32 0.0 # start angle (degrees)
+# PSASTRO.GRID.MAX.ANGLE F32 360.0
+# PSASTRO.GRID.DEL.ANGLE F32  1.0
+
+#PSASTRO.GRID.MIN.ANGLE F32  +178.0 # start angle (degrees)
+#PSASTRO.GRID.MAX.ANGLE F32  +182.0
+PSASTRO.GRID.MIN.ANGLE F32  -5.0 # start angle (degrees)
+PSASTRO.GRID.MAX.ANGLE F32  +5.0
+PSASTRO.GRID.DEL.ANGLE F32   0.5
+
+#
+PSASTRO.GRID.MIN.SCALE F32  0.990
+PSASTRO.GRID.MAX.SCALE F32  1.011
+PSASTRO.GRID.DEL.SCALE F32  0.010
+
+# single-chip radius match in pixels
+PSASTRO.MATCH.RADIUS.N0 F32    30
+PSASTRO.MATCH.RADIUS.N1 F32    30
+PSASTRO.MATCH.RADIUS.N2 F32    30
+PSASTRO.MATCH.RADIUS.N3 F32    20
+PSASTRO.MATCH.RADIUS.N4 F32    20
+PSASTRO.MATCH.RADIUS.N5 F32    20
+PSASTRO.MATCH.RADIUS.N6 F32    10
+PSASTRO.MATCH.RADIUS.N7 F32    10
+PSASTRO.MATCH.FIT.NITER S32     3
+
+# pmAstromMatchFit
+PSASTRO.CHIP.ORDER     S32      3  # fit order
+PSASTRO.CHIP.NITER     S32      3  # fit clipping iterations
+PSASTRO.CHIP.NSIGMA    F32      3  # fit clipping sigmas
+
+# XXX Test for taurus
+PSASTRO.GRID.MIN.SIGMA  F32  1.0
+PSASTRO.IGNORE          STR  SATURATED,CRLIMIT,DEFECT,BLEND,FAIL
+
+PSASTRO.MAX.ERROR      F32     1.25 # max allow error for valid solution (UNITS?)
+
+# these tweak are in FP units (pixels, currently)
+PSASTRO.TWEAK.SCALE     F32      1
+PSASTRO.TWEAK.RANGE     F32    150
+PSASTRO.TWEAK.SMOOTH    F32      2
+PSASTRO.TWEAK.NSIGMA    F32      3
+
+PSASTRO.USE.MODEL             BOOL     TRUE
+
+# Mosaic Astrometry options
+PSASTRO.MOSAIC.MODE         BOOL   FALSE
+
+PSASTRO.CATDIR              STR      SYNTH.BRIGHT
+DVO.GETSTAR.PHOTCODE        STR      r
+DVO.GETSTAR.MAX.RHO         F32      1000.0
+
+PHOTCODE.DATA MULTI
+PHOTCODE.DATA METADATA
+  FILTER   STR g
+  ZEROPT   F32 15.0
+  PHOTCODE STR g_SYNTH
+  GHOST_MAX_MAG                   F32 -20.0
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR r
+  ZEROPT   F32 21.5
+  PHOTCODE STR r_SYNTH
+  GHOST_MAX_MAG                   F32 -20.0
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR i
+  ZEROPT   F32 20.5
+  PHOTCODE STR i_SYNTH
+  GHOST_MAX_MAG                   F32 -20.0
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR z
+  ZEROPT   F32 19.0
+  PHOTCODE STR z_SYNTH
+  GHOST_MAX_MAG                   F32 -20.0
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR y
+  ZEROPT   F32 19.0
+  PHOTCODE STR y_SYNTH
+  GHOST_MAX_MAG                   F32 -20.0
+END
+
+PSASTRO.PLOT.REF.MAG.MIN  F32 +5.0
+PSASTRO.PLOT.REF.MAG.MAX  F32 +12.0
+DVO.GETSTAR.MAX.RHO         F32      1000.0
+
+# PSASTRO.MATCH.LUMFUNC  BOOL     TRUE
+
+# DVO.GETSTAR.MAG.MAX         F32      20.0
+# XXX need to be able to limit the density!
+
+# XXX this does not really make sense -- a single chip model cannot be inconsistent in rotation with the model!
+PSASTRO.ANGLE.TOLERANCE       F32      10.0
Index: branches/simtest_nebulous_branches/ippconfig/vysos20/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos20/psphot.config	(revision 27840)
+++ branches/simtest_nebulous_branches/ippconfig/vysos20/psphot.config	(revision 27840)
@@ -0,0 +1,24 @@
+
+# XXX check on this value
+PSF_CLUMP_NSIGMA                    F32   3.5             # region of Sx,Sy plane to use for selecting PSF stars
+
+# do we want to do 2-pass analysis?
+# BREAK_POINT                         STR   PASS1     
+
+# keep these large since psfs are so undersampled
+PSPHOT.CR.NSIGMA.LIMIT              F32   5.0  # sources with crNsigma greater that this get tagged as likely cosmic rays
+PSPHOT.EXT.NSIGMA.LIMIT             F32   5.0  # sources with extNsigma greater that this get tagged as likely extended sources
+
+# small psfs so small grow radius
+FOOTPRINT_GROW_RADIUS               S32   1       	  # How much to grow bright footprints
+FOOTPRINT_GROW_RADIUS_2             S32   2       	  # How much to grow faint footprints
+
+PSF_MODEL                           STR   PS_MODEL_PGAUSS
+PSF_CLUMP_NX                        S32   3               # subdivide image in to NX x NY regions for 
+PSF_CLUMP_NY                        S32   3               # selecting PSF stars
+
+PSF.TREND.MODE                      STR   MAP
+PSF.TREND.NX                        S32   5
+PSF.TREND.NY                        S32   5
+
+PSF.RESIDUALS.SPATIAL_ORDER         S32   1               # fit spatial variations of the residuals at this order (0,1)
Index: branches/simtest_nebulous_branches/ippconfig/vysos5/camera.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos5/camera.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/vysos5/camera.config	(revision 27840)
@@ -63,4 +63,5 @@
   CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
   CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
 
   PSF.HEAD  STR {CHIP.NAME}.hdr
Index: branches/simtest_nebulous_branches/ippconfig/vysos5/format_flipped.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos5/format_flipped.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/vysos5/format_flipped.config	(revision 27840)
@@ -56,5 +56,5 @@
 	FPA.INSTRUMENT	STR	VYSOS5
 	FPA.DETECTOR	STR	VYSOS5
-	FPA.POSANGLE	STR	0.0
+	FPA.POSANGLE	STR	180.0
 	CELL.SATURATION	F32	60000
 	CELL.BAD	F32	-100 ## XXX this value is bogus, but needs to be context based so residual images do not get half-masked
Index: branches/simtest_nebulous_branches/ippconfig/vysos5/ppImage.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos5/ppImage.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/vysos5/ppImage.config	(revision 27840)
@@ -65,13 +65,13 @@
   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? 
+  CHIP.VARIANCE.FITS BOOL  TRUE            # Save chip-mosaic-ed image? 
   OVERSCAN         BOOL    TRUE            # Overscan subtraction
-  BIAS             BOOL    FALSE           # Bias subtraction
+  BIAS             BOOL    TRUE            # Bias subtraction
   DARK             BOOL    FALSE           # Dark subtraction
   SHUTTER          BOOL    FALSE           # Shutter correction
-  FLAT             BOOL    FALSE           # Flat-field normalisation
+  FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    FALSE           # Mask bad pixels
   FRINGE           BOOL    FALSE           # Fringe subtraction
@@ -81,4 +81,26 @@
   ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
   ASTROM.MOSAIC    BOOL    FALSE	   # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe
+PPIMAGE_DET_ONLY     METADATA
+  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?
+  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    TRUE            # Overscan subtraction
+  BIAS               BOOL    TRUE            # Bias subtraction
+  DARK               BOOL    FALSE           # Dark subtraction
+  SHUTTER            BOOL    FALSE           # Shutter correction
+  FLAT               BOOL    TRUE            # Flat-field normalisation
+  MASK               BOOL    FALSE           # Mask bad pixels
+  FRINGE             BOOL    FALSE           # Fringe subtraction
+  BIN1.FITS          BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS          BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM             BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP        BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC      BOOL    FALSE           # Astrometry for mosaic?
 END
 
Index: branches/simtest_nebulous_branches/ippconfig/vysos5/psastro.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos5/psastro.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/vysos5/psastro.config	(revision 27840)
@@ -26,6 +26,7 @@
 # PSASTRO.GRID.MAX.ANGLE F32 360.0
 # PSASTRO.GRID.DEL.ANGLE F32  1.0
-PSASTRO.GRID.MIN.ANGLE F32 +6.0 # start angle (degrees)
-PSASTRO.GRID.MAX.ANGLE F32 +10.0
+
+PSASTRO.GRID.MIN.ANGLE F32  -20.0 # start angle (degrees)
+PSASTRO.GRID.MAX.ANGLE F32  +20.0
 PSASTRO.GRID.DEL.ANGLE F32  1.0
 
@@ -70,4 +71,5 @@
 PSASTRO.CATDIR              STR      SYNTH.BRIGHT
 DVO.GETSTAR.PHOTCODE        STR      r
+DVO.GETSTAR.MAX.RHO         F32      1000.0
 
 PHOTCODE.DATA MULTI
@@ -87,4 +89,5 @@
 PSASTRO.PLOT.REF.MAG.MIN  F32 +5.0
 PSASTRO.PLOT.REF.MAG.MAX  F32 +12.0
+DVO.GETSTAR.MAX.RHO         F32      1000.0
 
 # PSASTRO.MATCH.LUMFUNC  BOOL     TRUE
@@ -92,2 +95,5 @@
 # DVO.GETSTAR.MAG.MAX         F32      20.0
 # XXX need to be able to limit the density!
+
+# XXX this does not really make sense -- a single chip model cannot be inconsistent in rotation with the model!
+PSASTRO.ANGLE.TOLERANCE       F32      10.0
Index: branches/simtest_nebulous_branches/ippconfig/vysos5/psphot.config
===================================================================
--- branches/simtest_nebulous_branches/ippconfig/vysos5/psphot.config	(revision 25061)
+++ branches/simtest_nebulous_branches/ippconfig/vysos5/psphot.config	(revision 27840)
@@ -1,31 +1,16 @@
 
-SAVE.BACKMDL	BOOL 	TRUE
-SAVE.BACKGND	BOOL 	FALSE
-SAVE.BACKSUB	BOOL 	FALSE
-SAVE.PLOTS      BOOL    TRUE
-SAVE.RESID	BOOL 	FALSE
-SAVE.PSF	BOOL 	TRUE
-LOAD.PSF	BOOL 	FALSE
+# XXX check on this value
+PSF_CLUMP_NSIGMA                    F32   3.5             # region of Sx,Sy plane to use for selecting PSF stars
 
-PEAKS_NSIGMA_LIMIT                  F32   20.0            # peak significance threshold
-PEAKS_NSIGMA_LIMIT_2                F32   10.0             # peak significance threshold
-PSF_MOMENTS_RADIUS  		    F32    7               # calculate initial source moments with this radius
-PSF_CLUMP_NSIGMA                    F32   3.5             # region of Sx,Sy plane to use for selecting PSF stars
-PSF_MAX_NSTARS                      S32   400             # limit number of stars used for PSF model
-MEASURE.APTREND	                    BOOL  TRUE
+# do we want to do 2-pass analysis?
+# BREAK_POINT                         STR   PASS1     
 
-BREAK_POINT                         STR   PASS1     
-
+# keep these large since psfs are so undersampled
 PSPHOT.CR.NSIGMA.LIMIT              F32   5.0  # sources with crNsigma greater that this get tagged as likely cosmic rays
 PSPHOT.EXT.NSIGMA.LIMIT             F32   5.0  # sources with extNsigma greater that this get tagged as likely extended sources
 
-USE_FOOTPRINTS                      BOOL  TRUE       	  # use new pmFootprint peak packaging
-FOOTPRINT_NPIXMIN                   S32   5       	  # Minimum size of a pmFootprint
-FOOTPRINT_NSIGMA_LIMIT              F32   10      	  # threshold for bright pmFootprint detection
-FOOTPRINT_NSIGMA_LIMIT_2            F32   10       	  # threshold for faint pmFootprint detection
+# small psfs so small grow radius
 FOOTPRINT_GROW_RADIUS               S32   1       	  # How much to grow bright footprints
 FOOTPRINT_GROW_RADIUS_2             S32   2       	  # How much to grow faint footprints
-FOOTPRINT_CULL_NSIGMA_DELTA         F32   4       	  # Cull peaks that aren't nsigma above coll to neighbour
-FOOTPRINT_CULL_NSIGMA_MIN           F32   1       	  # Minimum height of colls in units of skyStdev
 
 PSF_MODEL                           STR   PS_MODEL_PGAUSS
