Index: /branches/tap_branches/ippconfig/Makefile.am
===================================================================
--- /branches/tap_branches/ippconfig/Makefile.am	(revision 27834)
+++ /branches/tap_branches/ippconfig/Makefile.am	(revision 27835)
@@ -10,4 +10,5 @@
 	simtest \
 	vysos5 \
+	vysos20 \
 	tc3 \
 	skycell \
Index: /branches/tap_branches/ippconfig/cfh12k/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/cfh12k/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/cfh12k/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/configure.ac
===================================================================
--- /branches/tap_branches/ippconfig/configure.ac	(revision 27834)
+++ /branches/tap_branches/ippconfig/configure.ac	(revision 27835)
@@ -21,4 +21,5 @@
   simtest/Makefile
   vysos5/Makefile
+  vysos20/Makefile
   tc3/Makefile
   skycell/Makefile
Index: /branches/tap_branches/ippconfig/dvo.photcodes
===================================================================
--- /branches/tap_branches/ippconfig/dvo.photcodes	(revision 27834)
+++ /branches/tap_branches/ippconfig/dvo.photcodes	(revision 27835)
@@ -503,4 +503,7 @@
   # 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/tap_branches/ippconfig/esowfi/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/esowfi/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/esowfi/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/gpc1/Makefile.am
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/Makefile.am	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/Makefile.am	(revision 27835)
@@ -12,4 +12,5 @@
 	format_20090120.config \
 	format_20090220.config \
+	format_20100122.config \
 	format_mef.config \
 	format_relphot.config \
@@ -17,4 +18,5 @@
 	ppImage.config \
         ppMerge.config \
+	ppStack.config \
 	psphot.config \
 	psastro.config \
Index: /branches/tap_branches/ippconfig/gpc1/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/camera.config	(revision 27835)
@@ -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
 
@@ -148,3 +150,3 @@
 PHOTCODE.RULE           STR     {DETECTOR}.{FILTER.ID}.{CHIP.NAME}	# Rule for generating photcode
 
-BURNTOOL.STATE.GOOD     S16     13  # Value for burntool_state with the most recent bt version.
+BURNTOOL.STATE.GOOD     S16     14  # Value for burntool_state with the most recent bt version.
Index: /branches/tap_branches/ippconfig/gpc1/dvo.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/dvo.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/dvo.config	(revision 27835)
@@ -1,5 +1,4 @@
 
 # location of DVO database tables
-CATDIR			/data/alala.0/eugene/isp/catdir
 MOSAICNAME              GPC1
 
Index: /branches/tap_branches/ippconfig/gpc1/format_20080925.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/format_20080925.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/format_20080925.config	(revision 27835)
@@ -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
@@ -574,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/tap_branches/ippconfig/gpc1/format_20080929.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/format_20080929.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/format_20080929.config	(revision 27835)
@@ -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
@@ -569,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/tap_branches/ippconfig/gpc1/format_20081011.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/format_20081011.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/format_20081011.config	(revision 27835)
@@ -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
@@ -561,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/tap_branches/ippconfig/gpc1/format_20090120.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/format_20090120.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/format_20090120.config	(revision 27835)
@@ -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
@@ -495,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/tap_branches/ippconfig/gpc1/format_20090220.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/format_20090220.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/format_20090220.config	(revision 27835)
@@ -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
@@ -495,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/tap_branches/ippconfig/gpc1/format_20100122.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/format_20100122.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/gpc1/format_20100122.config	(revision 27835)
@@ -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/tap_branches/ippconfig/gpc1/format_mef.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/format_mef.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/format_mef.config	(revision 27835)
@@ -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/tap_branches/ippconfig/gpc1/format_orig.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/format_orig.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/format_orig.config	(revision 27835)
@@ -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
@@ -229,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
@@ -570,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/tap_branches/ippconfig/gpc1/format_relphot.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/format_relphot.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/format_relphot.config	(revision 27835)
@@ -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/tap_branches/ippconfig/gpc1/ppImage.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/ppImage.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/ppImage.config	(revision 27835)
@@ -15,4 +15,6 @@
 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?
@@ -21,4 +23,132 @@
 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
@@ -153,7 +283,9 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
-  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
-  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?
@@ -180,4 +312,5 @@
   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
@@ -208,4 +341,5 @@
   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
@@ -237,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?
@@ -260,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
@@ -282,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
@@ -304,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
@@ -334,5 +472,6 @@
   FLAT             BOOL    TRUE            # Flat-field normalisation
   MASK             BOOL    TRUE            # Mask bad pixels
-  MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
+  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?
@@ -385,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
@@ -407,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
@@ -436,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
@@ -458,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
@@ -491,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?
@@ -515,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
@@ -538,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
@@ -561,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
@@ -584,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?
@@ -631,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?
@@ -674,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?
@@ -693,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
@@ -729,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
@@ -765,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
@@ -800,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
@@ -842,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
@@ -877,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?
@@ -928,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?
@@ -940,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?
@@ -955,6 +1113,65 @@
   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
+  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?
@@ -964,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/tap_branches/ippconfig/gpc1/ppMerge.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/ppMerge.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/ppMerge.config	(revision 27835)
@@ -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/tap_branches/ippconfig/gpc1/ppStack.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/ppStack.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/gpc1/ppStack.config	(revision 27835)
@@ -0,0 +1,16 @@
+PSF.MODEL	STR	PS_MODEL_PS1_V1	# Model for PSF generation
+
+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/tap_branches/ippconfig/gpc1/psastro.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/psastro.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/psastro.config	(revision 27835)
@@ -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/tap_branches/ippconfig/gpc1/psphot.config
===================================================================
--- /branches/tap_branches/ippconfig/gpc1/psphot.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/gpc1/psphot.config	(revision 27835)
@@ -37,2 +37,9 @@
   BACKGROUND.YBIN	    	    S32  32            # size of background superpixels
 END
+
+# 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/tap_branches/ippconfig/isp/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/isp/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/isp/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/isp/format.config
===================================================================
--- /branches/tap_branches/ippconfig/isp/format.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/isp/format.config	(revision 27835)
@@ -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/tap_branches/ippconfig/isp/ppImage.config
===================================================================
--- /branches/tap_branches/ippconfig/isp/ppImage.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/isp/ppImage.config	(revision 27835)
@@ -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/tap_branches/ippconfig/isp/psastro.config
===================================================================
--- /branches/tap_branches/ippconfig/isp/psastro.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/isp/psastro.config	(revision 27835)
@@ -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/tap_branches/ippconfig/isp/rejections.config
===================================================================
--- /branches/tap_branches/ippconfig/isp/rejections.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/isp/rejections.config	(revision 27835)
@@ -1,2 +1,4 @@
+
+
 
 DARK METADATA
@@ -48,2 +50,3 @@
 END
 
+ITERATION       BOOL    FALSE            # Are iterations permitted?
Index: /branches/tap_branches/ippconfig/lbc_red/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/lbc_red/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/lbc_red/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/lulin/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/lulin/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/lulin/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/megacam/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/megacam/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/megacam/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/megacam/psastro.config
===================================================================
--- /branches/tap_branches/ippconfig/megacam/psastro.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/megacam/psastro.config	(revision 27835)
@@ -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/tap_branches/ippconfig/recipes/Makefile.am
===================================================================
--- /branches/tap_branches/ippconfig/recipes/Makefile.am	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/Makefile.am	(revision 27835)
@@ -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/tap_branches/ippconfig/recipes/dqStatsTool.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/dqStatsTool.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/recipes/dqStatsTool.config	(revision 27835)
@@ -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/tap_branches/ippconfig/recipes/filerules-mef.mdc
===================================================================
--- /branches/tap_branches/ippconfig/recipes/filerules-mef.mdc	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/filerules-mef.mdc	(revision 27835)
@@ -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
@@ -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/tap_branches/ippconfig/recipes/filerules-simple.mdc
===================================================================
--- /branches/tap_branches/ippconfig/recipes/filerules-simple.mdc	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/filerules-simple.mdc	(revision 27835)
@@ -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/tap_branches/ippconfig/recipes/filerules-split.mdc
===================================================================
--- /branches/tap_branches/ippconfig/recipes/filerules-split.mdc	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/filerules-split.mdc	(revision 27835)
@@ -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
@@ -112,4 +114,15 @@
 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
+
+PPVIZPATTERN.INPUT	INPUT	 @FILES	       CHIP	  PATTERN
 
 ### output file definitions
@@ -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
 
@@ -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
@@ -254,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/tap_branches/ippconfig/recipes/fitstypes.mdc
===================================================================
--- /branches/tap_branches/ippconfig/recipes/fitstypes.mdc	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/fitstypes.mdc	(revision 27835)
@@ -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/tap_branches/ippconfig/recipes/jpeg.mdc
===================================================================
--- /branches/tap_branches/ippconfig/recipes/jpeg.mdc	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/jpeg.mdc	(revision 27835)
@@ -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/tap_branches/ippconfig/recipes/nightly_science.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/nightly_science.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/recipes/nightly_science.config	(revision 27835)
@@ -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/tap_branches/ippconfig/recipes/ppImage.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/ppImage.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/ppImage.config	(revision 27835)
@@ -18,5 +18,12 @@
 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
@@ -29,4 +36,5 @@
 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
@@ -87,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
@@ -128,4 +138,6 @@
 FRINGE.FILTERS  MULTI
 FRINGE.FILTERS  STR UNDEF
+
+GAIN.OVERRIDE	BOOL	FALSE		# Override a non-finite gain?
 
 DETREND.CONSTRAINTS  METADATA
@@ -247,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
@@ -269,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
@@ -291,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
@@ -313,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
@@ -335,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
@@ -357,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
@@ -379,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
@@ -401,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
@@ -422,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
@@ -445,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
@@ -467,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
@@ -489,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
@@ -511,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
@@ -533,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
@@ -580,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?
@@ -614,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
@@ -643,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
@@ -665,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
@@ -698,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
@@ -720,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?
@@ -742,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?
@@ -764,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?
@@ -792,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?
@@ -820,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?
@@ -842,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?
@@ -858,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
@@ -882,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
@@ -910,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
@@ -938,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?
@@ -956,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?
@@ -980,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?
@@ -999,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
@@ -1034,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
@@ -1069,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
@@ -1104,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
@@ -1139,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
@@ -1174,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
@@ -1210,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
@@ -1245,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
@@ -1280,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
@@ -1315,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
@@ -1350,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
@@ -1385,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
@@ -1420,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
@@ -1455,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
@@ -1490,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
@@ -1525,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
@@ -1561,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
@@ -1590,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
@@ -1628,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
@@ -1669,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?
@@ -1698,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?
@@ -1707,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?
@@ -1722,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?
@@ -1731,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/tap_branches/ippconfig/recipes/ppMerge.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/ppMerge.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/ppMerge.config	(revision 27835)
@@ -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/tap_branches/ippconfig/recipes/ppSim.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/ppSim.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/ppSim.config	(revision 27835)
@@ -53,9 +53,16 @@
 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      5.0            # significance of faintest sources
+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
Index: /branches/tap_branches/ippconfig/recipes/ppSmooth.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/ppSmooth.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/recipes/ppSmooth.config	(revision 27835)
@@ -0,0 +1,3 @@
+# no recipe options are yet defined...
+
+SIGMA F32 1.0
Index: /branches/tap_branches/ippconfig/recipes/ppStack.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/ppStack.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/ppStack.config	(revision 27835)
@@ -2,14 +2,21 @@
 
 CONVOLVE	BOOL	TRUE		# Convolve images when stacking?
-ITER		S32	1		# Number of rejection iterations
+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.03		# Relative systematic error in combination
+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	1.3		# 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	3.0		# Rejection threshold for chi^2 values from matching
@@ -17,4 +24,5 @@
 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
@@ -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/tap_branches/ippconfig/recipes/ppStats.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/ppStats.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/ppStats.config	(revision 27835)
@@ -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
 
Index: /branches/tap_branches/ippconfig/recipes/ppStatsFromMetadata.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/ppStatsFromMetadata.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/ppStatsFromMetadata.config	(revision 27835)
@@ -244,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
 
@@ -400,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/tap_branches/ippconfig/recipes/ppSub.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/ppSub.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/ppSub.config	(revision 27835)
@@ -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	3 5 7 10	# 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
@@ -39,25 +63,32 @@
 RENORM		BOOL	TRUE		# Renormalise weight maps?
 RENORM.NUM	S32	100000		# Number of samples for renormalisation
-RENORM.MIN	F32	0.6		# Minimum value for renormlisation
-RENORM.MAX	F32	1.5		# Maximum value 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
 
-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
 
@@ -72,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/tap_branches/ippconfig/recipes/ppVizPSF.mdc
===================================================================
--- /branches/tap_branches/ippconfig/recipes/ppVizPSF.mdc	(revision 27835)
+++ /branches/tap_branches/ippconfig/recipes/ppVizPSF.mdc	(revision 27835)
@@ -0,0 +1,2 @@
+MINFLUX		F32		1.0e-3
+SIZE		S32		25
Index: /branches/tap_branches/ippconfig/recipes/psastro.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/psastro.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/psastro.config	(revision 27835)
@@ -64,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
@@ -91,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
@@ -102,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
@@ -111,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
 
@@ -122,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
 
@@ -143,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
@@ -155,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
@@ -196,2 +224,3 @@
 PR_RECIPE METADATA
 END
+
Index: /branches/tap_branches/ippconfig/recipes/psphot.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/psphot.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/psphot.config	(revision 27835)
@@ -70,4 +70,7 @@
 MOMENTS_AR_MAX                      F32   1.5             # maximum axial ratio: 1 / AR < (sx / sy) < AR
 MOMENTS_GAUSS_SIGMA		    F32	  4.0		  # XXX this is now autoscaled
+
+# calculate difference stats?
+DIFF_STATS                          BOOL  FALSE
 
 # basic object statistics
@@ -148,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
@@ -171,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
@@ -264,11 +272,17 @@
 PSPHOT.CR.NSIGMA.LIMIT              F32   3.0  # sources with crNsigma greater that this get tagged as likely cosmic rays
 PSPHOT.EXT.NSIGMA.LIMIT             F32   3.0  # sources with extNsigma greater that this get tagged as likely extended sources
-PSPHOT.EXT.NSIGMA.MOMENTS           F32   2.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
@@ -301,4 +315,7 @@
 	IMSTATS_NPIX		S32	50000
 	BREAK_POINT             STR   ENSEMBLE     
-	PEAKS_NMAX              S32   1000            # on first pass, only keep NMAX peaks (0 == all)
-END
+	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/tap_branches/ippconfig/recipes/reductionClasses.mdc
===================================================================
--- /branches/tap_branches/ippconfig/recipes/reductionClasses.mdc	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/reductionClasses.mdc	(revision 27835)
@@ -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
 
@@ -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/tap_branches/ippconfig/recipes/rejections.config
===================================================================
--- /branches/tap_branches/ippconfig/recipes/rejections.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/recipes/rejections.config	(revision 27835)
@@ -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/tap_branches/ippconfig/sdss/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/sdss/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/sdss/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/sdss/dvo.config
===================================================================
--- /branches/tap_branches/ippconfig/sdss/dvo.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/sdss/dvo.config	(revision 27835)
@@ -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/tap_branches/ippconfig/sdssmosaic/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/sdssmosaic/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/sdssmosaic/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/sdssmosaic/psphot.config
===================================================================
--- /branches/tap_branches/ippconfig/sdssmosaic/psphot.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/sdssmosaic/psphot.config	(revision 27835)
@@ -5,5 +5,5 @@
 # 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   3               # selecting PSF stars
+PSF_CLUMP_NY        S32   2               # selecting PSF stars
 
 # test this:
@@ -11,10 +11,11 @@
 
 # PSF model parameters : choose the PSF model desired
-PSF_MODEL           STR  PS_MODEL_PS1_V1
+# 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
 
 # match the SDSS radius:
Index: /branches/tap_branches/ippconfig/simmosaic/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/simmosaic/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/simmosaic/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/simple/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/simple/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/simple/camera.config	(revision 27835)
@@ -59,4 +59,5 @@
   CMF.XSRC STR xsrc
   CMF.XFIT STR xfit
+  CMF.DETEFF STR deteff
 
   PSF.HEAD  STR hdr
Index: /branches/tap_branches/ippconfig/simtest/format.config
===================================================================
--- /branches/tap_branches/ippconfig/simtest/format.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/simtest/format.config	(revision 27835)
@@ -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
Index: /branches/tap_branches/ippconfig/simtest/ppImage.config
===================================================================
--- /branches/tap_branches/ippconfig/simtest/ppImage.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/simtest/ppImage.config	(revision 27835)
@@ -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/tap_branches/ippconfig/simtest/ppSim.config
===================================================================
--- /branches/tap_branches/ippconfig/simtest/ppSim.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/simtest/ppSim.config	(revision 27835)
@@ -15,5 +15,5 @@
  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     5.0            # significance of faintest sources
+ STARS.SIGMA.LIM F32     2.0            # significance of faintest sources
  STARS.LUM	 F32	 0.35		# Stellar luminosity function slope (magnitude slope)
 END
@@ -35,4 +35,10 @@
  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
@@ -63,4 +69,10 @@
  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
Index: /branches/tap_branches/ippconfig/simtest/ppSub.config
===================================================================
--- /branches/tap_branches/ippconfig/simtest/ppSub.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/simtest/ppSub.config	(revision 27835)
@@ -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/tap_branches/ippconfig/simtest/psphot.config
===================================================================
--- /branches/tap_branches/ippconfig/simtest/psphot.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/simtest/psphot.config	(revision 27835)
@@ -2,3 +2,4 @@
 # same as ppSim.config (if YES, <apResid> should be 0.0)
 # ppSim currently uses PS_MODEL_GAUSS
-PSF_MODEL                           STR   PS_MODEL_PGAUSS
+PSF_MODEL                           STR   PS_MODEL_GAUSS
+PSF_CLUMP_GRID_SCALE                F32   1.0             # size of Sx,Sy image pixel
Index: /branches/tap_branches/ippconfig/site.config.in
===================================================================
--- /branches/tap_branches/ippconfig/site.config.in	(revision 27834)
+++ /branches/tap_branches/ippconfig/site.config.in	(revision 27835)
@@ -66,3 +66,6 @@
 PSTAMP_DATA_STORE_ROOT STR PATH
 
+TEMP.DIR	STR	/tmp	# Directory for temporary products
+
+
 # other basic values:
Index: /branches/tap_branches/ippconfig/system.config
===================================================================
--- /branches/tap_branches/ippconfig/system.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/system.config	(revision 27835)
@@ -15,4 +15,5 @@
 	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
@@ -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/tap_branches/ippconfig/tek/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/tek/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/tek/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/uh8k/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/uh8k/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/uh8k/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos20/Makefile.am
===================================================================
--- /branches/tap_branches/ippconfig/vysos20/Makefile.am	(revision 27835)
+++ /branches/tap_branches/ippconfig/vysos20/Makefile.am	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos20/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/vysos20/camera.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/vysos20/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos20/dvo.config
===================================================================
--- /branches/tap_branches/ippconfig/vysos20/dvo.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/vysos20/dvo.config	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos20/format.config
===================================================================
--- /branches/tap_branches/ippconfig/vysos20/format.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/vysos20/format.config	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos20/format_flipped.config
===================================================================
--- /branches/tap_branches/ippconfig/vysos20/format_flipped.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/vysos20/format_flipped.config	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos20/ppImage.config
===================================================================
--- /branches/tap_branches/ippconfig/vysos20/ppImage.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/vysos20/ppImage.config	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos20/psastro.config
===================================================================
--- /branches/tap_branches/ippconfig/vysos20/psastro.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/vysos20/psastro.config	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos20/psphot.config
===================================================================
--- /branches/tap_branches/ippconfig/vysos20/psphot.config	(revision 27835)
+++ /branches/tap_branches/ippconfig/vysos20/psphot.config	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos5/camera.config
===================================================================
--- /branches/tap_branches/ippconfig/vysos5/camera.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/vysos5/camera.config	(revision 27835)
@@ -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/tap_branches/ippconfig/vysos5/psphot.config
===================================================================
--- /branches/tap_branches/ippconfig/vysos5/psphot.config	(revision 27834)
+++ /branches/tap_branches/ippconfig/vysos5/psphot.config	(revision 27835)
@@ -4,5 +4,5 @@
 
 # do we want to do 2-pass analysis?
-BREAK_POINT                         STR   PASS1     
+# BREAK_POINT                         STR   PASS1     
 
 # keep these large since psfs are so undersampled
