Index: /trunk/ippconfig/megacam/camera.config
===================================================================
--- /trunk/ippconfig/megacam/camera.config	(revision 7531)
+++ /trunk/ippconfig/megacam/camera.config	(revision 7532)
@@ -4,7 +4,8 @@
 FORMATS		METADATA
 	RAW	STR	megacam/format_raw.config
-	SPLICE	STR	megacam/format_spliced.config
+	MASKS	STR	megacam/format_spliced_mask.config
+	SPLICED	STR	megacam/format_spliced.config
+	MASK	STR	megacam/format_split_mask.config
 	SPLIT	STR	megacam/format_split.config
-#	MASK	STR	megacam/format_split_mask.config
 END
 
@@ -59,185 +60,45 @@
 
 FILERULES METADATA
-   PPIMAGE.INPUT  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CELL.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
-   PPIMAGE.OUTPUT  METADATA
-         FILENAME.RULE   STR {OUTPUT}.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
-   PPIMAGE.BIN1  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin1.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
-   PPIMAGE.BIN2  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin2.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
+   PSASTRO.INPUT      STR PSASTRO.INPUT.CMP
+   PSASTRO.OUTPUT     STR PSASTRO.OUTPUT.CMP
+   PSPHOT.OUTPUT      STR PSPHOT.OUTPUT.CMP
 
-   PPIMAGE.BIAS  METADATA
-         FILENAME.RULE   STR bias.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
-   PPIMAGE.DARK  METADATA
-         FILENAME.RULE   STR dark.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
-   PPIMAGE.FLAT  METADATA
-         FILENAME.RULE   STR flat.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
-   PPIMAGE.MASK  METADATA
-         FILENAME.RULE   STR mask.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
+   TYPE               FILERULE FILENAME.RULE                 FILENAME.XTRA EXTNAME.RULE EXTNAME.XTRA FILE.DEPTH DATA.DEPTH FILE.TYPE FILE.MODE FILE.FORMAT
+   PPIMAGE.INPUT      FILERULE @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       CHIP       IMAGE     READ      NONE
+   # PPIMAGE.INPUT      FILERULE @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         FPA        CHIP       IMAGE     READ      NONE
 
-   PSPHOT.INPUT  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CELL.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
+   PPIMAGE.OUTPUT     FILERULE {OUTPUT}.{CHIP.NAME}.fit      {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     NONE
+   # PPIMAGE.OUTPUT     FILERULE {OUTPUT}.{CHIP.NAME}.fit      {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     WRITE     NONE
+   PPIMAGE.BIN1       FILERULE {OUTPUT}.{CHIP.NAME}.b1.fit   {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     SPLIT
+   PPIMAGE.BIN2       FILERULE {OUTPUT}.{CHIP.NAME}.b2.fit   {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     SPLIT
+   PPIMAGE.JPEG1      FILERULE {OUTPUT}.{CHIP.NAME}.b1.jpg   -greyscale    RANGE        -5:20        CHIP       CHIP       JPEG      WRITE     SPLIT
+   PPIMAGE.JPEG2      FILERULE {OUTPUT}.{CHIP.NAME}.b2.jpg   -greyscale    FRACTION     0.50:2.00    CHIP       CHIP       JPEG      WRITE     SPLIT
+   PPIMAGE.BIAS       FILERULE bias.mef.fits                 {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     READ      NONE
+   PPIMAGE.DARK       FILERULE dark.mef.fits                 {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     READ      NONE
+   PPIMAGE.FLAT       FILERULE flat.mef.fits                 {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     READ      NONE
+   PPIMAGE.MASK       FILERULE mask.mef.fits                 {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     READ      NONE
 
-   # an indirect rule allows multiple, related output definitions
-   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.CMP
-#   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.RAW
+   PSPHOT.INPUT       FILERULE @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     SPLICE
+   PSPHOT.RESID       FILERULE {OUTPUT}.res.fits             NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SPLICE
+   PSPHOT.BACKGND     FILERULE {OUTPUT}.bck.fits             NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SPLICE
+   PSPHOT.BACKSUB     FILERULE {OUTPUT}.sub.fits             NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SPLICE
+   PSPHOT.BACKMDL     FILERULE {OUTPUT}.mdl.fits             NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SPLICE
 
-   PSPHOT.RESID  METADATA
-         FILENAME.RULE   STR {OUTPUT}.res.fits
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR {CELL.NAME}
-         EXTNAME.XTRA    STR {CELL.NAME}
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
+   PSPHOT.OUTPUT.RAW  FILERULE {OUTPUT}.{CHIP.NAME}          NONE          NONE         PHU          CHIP       CHIP       RAW       WRITE     NONE
+   PSPHOT.OUTPUT.SX   FILERULE {OUTPUT}.sx                   NONE          NONE         PHU          CHIP       CHIP       SX        WRITE     NONE
+   PSPHOT.OUTPUT.OBJ  FILERULE {OUTPUT}.obj                  NONE          NONE         PHU          CHIP       CHIP       OBJ       WRITE     NONE
+   PSPHOT.OUTPUT.CMP  FILERULE {OUTPUT}.{CHIP.NAME}.{CELL.NAME}.cmp NONE   NONE         PHU          CELL       CELL       CMP       WRITE     NONE
+   PSPHOT.OUTPUT.CMF  FILERULE {OUTPUT}.cmf                  NONE          SMPDATA      PHU          CHIP       CHIP       CMF       WRITE     NONE
 
-#   PSPHOT.BACKSUB  METADATA
-#         FILENAME.RULE   STR {OUTPUT}.sub.fits
-#         FILENAME.XTRA   STR {CHIP.NAME}
-#         EXTNAME.RULE    STR {CELL.NAME}
-#         EXTNAME.XTRA    STR {CELL.NAME}
-#         OPEN.DEPTH 	 STR CELL 
-#	 WRITE.DEPTH 	 STR CELL
-#	 FILETYPE            STR IMAGE
-#   END
+   PSASTRO.INPUT.CMP  FILERULE @FILES                        NONE          NONE         PHU          CHIP       CHIP       CMP       READ      NONE
+   PSASTRO.INPUT.CMF  FILERULE @FILES                        NONE          SMPDATA      PHU          CHIP       CHIP       CMF       READ      NONE
+   PSASTRO.OUTPUT.CMP FILERULE {OUTPUT}.smp                  NONE          NONE         PHU          CHIP       CHIP       CMP       WRITE     NONE
+END
 
-   PSPHOT.BACKGND  METADATA
-        FILENAME.RULE   STR {OUTPUT}.bck.fits
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-        OPEN.DEPTH      STR CELL 
-  	WRITE.DEPTH 	STR CELL
-	FILE.TYPE       STR IMAGE
-	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
-   END
+#   PSPHOT.PSF.SAVE    FILERULE {OUTPUT}.{CHIP.NAME}.psf.txt  {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  READOUT    READOUT    PSF       WRITE    SIMPLE
+#   PSPHOT.PSF.LOAD    FILERULE {OUTPUT}.{CHIP.NAME}.psf.txt  {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  CELL       CELL       PSF       READ     NONE
+#   PPIMAGE.BIAS       FILERULE bias.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ      SPLIT
+#   PPIMAGE.DARK       FILERULE dark.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ      SPLIT
+#   PPIMAGE.FLAT       FILERULE flat.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ      SPLIT
+#   PPIMAGE.MASK       FILERULE mask.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ      MASK
 
-   PSPHOT.OUTPUT.RAW  METADATA
-         FILENAME.RULE   STR {OUTPUT}
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR RAW
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.SX   METADATA
-         FILENAME.RULE   STR {OUTPUT}.sx
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR SX
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.OBJ  METADATA
-         FILENAME.RULE   STR {OUTPUT}.obj
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR OBJ
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.CMP  METADATA
-         FILENAME.RULE   STR {OUTPUT}.cmp
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMP
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.CMF  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.cmf
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR SMPDATA
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMF
-	 FILE.MODE       STR WRITE
-   END
-END
Index: /trunk/ippconfig/megacam/format_spliced.config
===================================================================
--- /trunk/ippconfig/megacam/format_spliced.config	(revision 7531)
+++ /trunk/ippconfig/megacam/format_spliced.config	(revision 7532)
@@ -1,3 +1,3 @@
-# The spliced MecaCam data is stored in single extensions for each chip
+# The spliced MegaCam data is stored in single extensions for each chip
 
 # How to recognise this type
@@ -9,6 +9,6 @@
 END
 
+# How to read this data
 FILE	METADATA
-	# How to read this data
 	PHU		STR	FPA	# The FITS file represents an entire FPA
 	EXTENSIONS	STR	CHIP	# The extensions represent chips
Index: /trunk/ippconfig/megacam/format_spliced_mask.config
===================================================================
--- /trunk/ippconfig/megacam/format_spliced_mask.config	(revision 7532)
+++ /trunk/ippconfig/megacam/format_spliced_mask.config	(revision 7532)
@@ -0,0 +1,143 @@
+# The spliced MecaCam data is stored in single extensions for each chip
+
+# How to recognise this type
+RULE	METADATA
+	OBSTYPE         STR     MASK
+	ORIGIN  	STR	CFHT
+	INSTRUME	STR	MegaPrime
+	EXTEND		BOOL	T
+	NEXTEND		S32	36
+END
+
+FILE	METADATA
+	# How to read this data
+	PHU		STR	FPA	 # The FITS file represents an entire FPA
+	EXTENSIONS	STR	CHIP	 # The extensions represent chips
+	FPA.NAME	STR	FILENAME # A PHU keyword for unique identifier
+END
+
+# What's in the FITS file?
+CONTENTS	METADATA
+	# Extension name, chip name:component cell
+	ccd00		STR	ccd00:LeftAmp:left ccd00:RightAmp:right
+	ccd01		STR	ccd01:LeftAmp:left ccd01:RightAmp:right
+	ccd02		STR	ccd02:LeftAmp:left ccd02:RightAmp:right
+	ccd03		STR	ccd03:LeftAmp:left ccd03:RightAmp:right
+	ccd04		STR	ccd04:LeftAmp:left ccd04:RightAmp:right
+	ccd05		STR	ccd05:LeftAmp:left ccd05:RightAmp:right
+	ccd06		STR	ccd06:LeftAmp:left ccd06:RightAmp:right
+	ccd07		STR	ccd07:LeftAmp:left ccd07:RightAmp:right
+	ccd08		STR	ccd08:LeftAmp:left ccd08:RightAmp:right
+	ccd09		STR	ccd09:LeftAmp:left ccd09:RightAmp:right
+	ccd10		STR	ccd10:LeftAmp:left ccd10:RightAmp:right
+	ccd11		STR	ccd11:LeftAmp:left ccd11:RightAmp:right
+	ccd12		STR	ccd12:LeftAmp:left ccd12:RightAmp:right
+	ccd13		STR	ccd13:LeftAmp:left ccd13:RightAmp:right
+	ccd14		STR	ccd14:LeftAmp:left ccd14:RightAmp:right
+	ccd15		STR	ccd15:LeftAmp:left ccd15:RightAmp:right
+	ccd16		STR	ccd16:LeftAmp:left ccd16:RightAmp:right
+	ccd17		STR	ccd17:LeftAmp:left ccd17:RightAmp:right
+	ccd18		STR	ccd18:LeftAmp:left ccd18:RightAmp:right
+	ccd19		STR	ccd19:LeftAmp:left ccd19:RightAmp:right
+	ccd20		STR	ccd20:LeftAmp:left ccd20:RightAmp:right
+	ccd21		STR	ccd21:LeftAmp:left ccd21:RightAmp:right
+	ccd22		STR	ccd22:LeftAmp:left ccd22:RightAmp:right
+	ccd23		STR	ccd23:LeftAmp:left ccd23:RightAmp:right
+	ccd24		STR	ccd24:LeftAmp:left ccd24:RightAmp:right
+	ccd25		STR	ccd25:LeftAmp:left ccd25:RightAmp:right
+	ccd26		STR	ccd26:LeftAmp:left ccd26:RightAmp:right
+	ccd27		STR	ccd27:LeftAmp:left ccd27:RightAmp:right
+	ccd28		STR	ccd28:LeftAmp:left ccd28:RightAmp:right
+	ccd29		STR	ccd29:LeftAmp:left ccd29:RightAmp:right
+	ccd30		STR	ccd30:LeftAmp:left ccd30:RightAmp:right
+	ccd31		STR	ccd31:LeftAmp:left ccd31:RightAmp:right
+	ccd32		STR	ccd32:LeftAmp:left ccd32:RightAmp:right
+	ccd33		STR	ccd33:LeftAmp:left ccd33:RightAmp:right
+	ccd34		STR	ccd34:LeftAmp:left ccd34:RightAmp:right
+	ccd35		STR	ccd35:LeftAmp:left ccd35:RightAmp:right
+END
+
+# Specify the cells
+CELLS		METADATA
+	left		METADATA
+		CELL.NAME		STR	LeftSide
+		CELL.BIASSEC.SOURCE	STR	VALUE
+		CELL.TRIMSEC.SOURCE	STR	VALUE
+		CELL.BIASSEC		STR	[1:32,1:4644]
+		CELL.TRIMSEC		STR	[33:1056,1:4612]
+		CELL.X0			S32	0
+	END
+
+	right		METADATA
+		CELL.NAME		STR	RightSide
+		CELL.BIASSEC.SOURCE	STR	VALUE
+		CELL.TRIMSEC.SOURCE	STR	VALUE
+		CELL.BIASSEC		STR	[2081:2112,1:4644]
+		CELL.TRIMSEC		STR	[1057:2080,1:4612]
+		CELL.X0			S32	1024
+	END
+END
+
+# How to translate PS concepts into FITS headers
+TRANSLATION	METADATA
+        FPA.NAME        STR     EXPNUM
+        FPA.AIRMASS     STR     AIRMASS
+        FPA.FILTER      STR     FILTER
+        FPA.POSANGLE    STR     ROTANGLE
+        FPA.RA          STR     RA
+        FPA.DEC         STR     DEC
+        FPA.RADECSYS    STR     RADECSYS
+        CELL.EXPOSURE   STR     EXPTIME
+        CELL.DARKTIME   STR     DARKTIME
+        CELL.GAIN       STR     GAIN
+        CELL.READNOISE  STR     RDNOISE
+        CELL.SATURATION STR     SATURATE
+	CELL.TIME	STR	MJD-OBS
+        CELL.XBIN       STR     CCDBIN1
+        CELL.YBIN       STR     CCDBIN2
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS        METADATA
+	CELL.READDIR		S32	1		# Cell is read in x direction
+        CELL.BAD                S32     0
+	CELL.TIMESYS		STR	UTC
+	CELL.XPARITY		S32	1
+	CELL.YPARITY		S32	1
+	CELL.Y0			S32	0
+END
+
+
+# How to translation PS concepts into database lookups
+DATABASE	METADATA
+	TYPE		dbEntry		TABLE		COLUMN		GIVENDBCOL	GIVENPS
+#	CELL.GAIN	dbEntry		Camera		gain		chipId,cellId	CHIP.NAME,CELL.NAME
+#	CELL.READNOISE	dbEntry		Camera		readNoise	chipId,cellId	CHIP.NAME,CELL.NAME
+
+# A database entry refers to a particular column (COLUMN) in a
+# particular table (TABLE), given certain PS concepts (GIVENPS) that
+# match certain database columns (GIVENDBCOL).
+END		
+
+
+# Where there might be some ambiguity, specify the format
+FORMATS		METADATA
+	FPA.RA		STR	HOURS
+	FPA.DEC		STR	DEGREES
+	CELL.TIME	STR	MJD
+END
+ 
+# Recipe options
+RECIPES		METADATA
+	PHASE2		STR	phase2.config		# Phase 2 recipe details
+END
+ 
+
+# How to get the supplementary stuff: mask and weight
+SUPPLEMENTARY	METADATA
+	MASK.SOURCE	STR	FILE		# Source type for mask: EXT | FILE
+	MASK.NAME	STR	%a_mask.fits	# Name for mask extension or filename
+	WEIGHT.SOURCE	STR	FILE		# Source type for weight: EXT | FILE
+	WEIGHT.NAME	STR	%a_weight.fits	# Name for weight extension or filename
+END
+
Index: /trunk/ippconfig/megacam/format_split.config
===================================================================
--- /trunk/ippconfig/megacam/format_split.config	(revision 7531)
+++ /trunk/ippconfig/megacam/format_split.config	(revision 7532)
@@ -281,3 +281,2 @@
 	CELL.TIME	STR	MJD
 END
- 
Index: /trunk/ippconfig/megacam/format_split_mask.config
===================================================================
--- /trunk/ippconfig/megacam/format_split_mask.config	(revision 7531)
+++ /trunk/ippconfig/megacam/format_split_mask.config	(revision 7532)
@@ -10,9 +10,9 @@
 # How to read this dataF
 FILE	METADATA
-	PHU		STR	CHIP	# The FITS file represents an entire FPA
-	EXTENSIONS	STR	NONE	# The extensions represent chips
-	FPA.NAME	STR	EXPNUM	# A PHU keyword for the FPA name
-	CHIP.NAME	STR	EXTNAME	# A PHU keyword for the chip name
-	CONTENT		STR	EXTNAME	# A PHU keyword to index the CONTENTS menu; required because EXT=NONE
+	PHU		STR	CHIP	 # The FITS file represents an entire FPA
+	EXTENSIONS	STR	NONE	 # The extensions represent chips
+	FPA.NAME	STR	FILENAME # A PHU keyword for the FPA name
+	CHIP.NAME	STR	EXTNAME	 # A PHU keyword for the chip name
+	CONTENT		STR	EXTNAME	 # A PHU keyword to index the CONTENTS menu; required because EXT=NONE
 END
 
Index: /trunk/ippconfig/megacam/phase2.config
===================================================================
--- /trunk/ippconfig/megacam/phase2.config	(revision 7531)
+++ /trunk/ippconfig/megacam/phase2.config	(revision 7532)
@@ -2,12 +2,14 @@
 
 # List of tasks to perform
-MASK		BOOL	TRUE		# Mask bad pixels
+MASK		BOOL	FALSE		# Mask bad pixels
+MASK.VALUE      U8      0x10            # only mask pixels matching this bitmask
+
 NONLIN		BOOL	FALSE		# Non-linearity correction
-OVERSCAN	BOOL	TRUE		# Overscan subtraction
-BIAS		BOOL	TRUE		# Bias subtraction
-DARK		BOOL	TRUE		# Dark subtraction
-FLAT		BOOL	TRUE		# Flat-field normalisation
+OVERSCAN	BOOL	FALSE		# Overscan subtraction
+BIAS		BOOL	FALSE		# Bias subtraction
+DARK		BOOL	FALSE		# Dark subtraction
+FLAT		BOOL	FALSE		# Flat-field normalisation
 FRINGE		BOOL	FALSE		# Fringe subtraction
-SOURCE		BOOL	FALSE		# Source identification and photometry
+PHOTOM		BOOL	FALSE		# Source identification and photometry
 ASTROM		BOOL	FALSE		# Astrometry
 BIN1.FITS	BOOL	TRUE
Index: /trunk/ippconfig/megacam/psphot.config
===================================================================
--- /trunk/ippconfig/megacam/psphot.config	(revision 7531)
+++ /trunk/ippconfig/megacam/psphot.config	(revision 7532)
@@ -13,6 +13,6 @@
 
 # background model : 
-BACKGROUND_XBIN	    S32   128
-BACKGROUND_YBIN	    S32   128
+BACKGROUND.XBIN	    S32   128
+BACKGROUND.YBIN	    S32   128
 
 # masking parameters
@@ -23,5 +23,4 @@
 SATURATION          F32  50000     	 # saturation level on this chip
 MIN_VALID_PIXEL     F32      1     	 # saturation level on this chip
-# ANALYSIS_REGION     STR  [1000:1600,2800:3400]
 
 # image statistics parameters
@@ -83,2 +82,3 @@
 # PEAKS_OUTPUT_FILE STR peaks.dat
 # MOMENTS_OUTPUT_FILE STR moments.dat
+# ANALYSIS_REGION     STR  [1000:1600,2800:3400]
Index: /trunk/ippconfig/megacam_alternate/camera.config
===================================================================
--- /trunk/ippconfig/megacam_alternate/camera.config	(revision 7531)
+++ /trunk/ippconfig/megacam_alternate/camera.config	(revision 7532)
@@ -19,4 +19,9 @@
 
 FILERULES METADATA
+   PSASTRO.INPUT	 STR PSASTRO.INPUT.CMP
+   PSASTRO.OUTPUT	 STR PSASTRO.OUTPUT.CMP
+
+   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.CMP
+
    PPIMAGE.INPUT  METADATA
          FILENAME.RULE   STR @FILES
@@ -34,6 +39,6 @@
          EXTNAME.RULE    STR {CHIP.NAME}
          EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
+         FILE.DEPTH      STR FPA 
+	 DATA.DEPTH      STR FPA
          FILE.TYPE       STR IMAGE
 	 FILE.MODE       STR WRITE
@@ -44,9 +49,9 @@
          EXTNAME.RULE    STR {CHIP.NAME}
          EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
+         FILE.DEPTH      STR FPA 
+	 DATA.DEPTH      STR FPA
+         FILE.TYPE       STR IMAGE
+	 FILE.MODE       STR WRITE
+	 FILE.FORMAT     STR SIMPLE
    END
    PPIMAGE.BIN2  METADATA
@@ -55,9 +60,9 @@
          EXTNAME.RULE    STR {CHIP.NAME}
          EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
+         FILE.DEPTH      STR FPA 
+	 DATA.DEPTH      STR FPA
+         FILE.TYPE       STR IMAGE
+	 FILE.MODE       STR WRITE
+	 FILE.FORMAT     STR SIMPLE
    END
    PPIMAGE.JPEG1  METADATA
@@ -66,9 +71,9 @@
          EXTNAME.RULE    STR RANGE
          EXTNAME.XTRA    STR -5:20
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
+         FILE.DEPTH      STR FPA 
+	 DATA.DEPTH      STR FPA
          FILE.TYPE       STR JPEG
 	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
+	 FILE.FORMAT     STR SIMPLE
    END
    PPIMAGE.JPEG2  METADATA
@@ -77,9 +82,9 @@
          EXTNAME.RULE    STR FRACTION
          EXTNAME.XTRA    STR 0.50:2.00
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
+         FILE.DEPTH      STR FPA 
+	 DATA.DEPTH      STR FPA
          FILE.TYPE       STR JPEG
 	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
+	 FILE.FORMAT     STR SIMPLE
    END
 
@@ -90,5 +95,5 @@
          EXTNAME.XTRA    STR NONE
          FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
+	 DATA.DEPTH      STR FPA
          FILE.TYPE       STR IMAGE
 	 FILE.MODE       STR WRITE
@@ -100,5 +105,5 @@
          EXTNAME.XTRA    STR NONE
          FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
+	 DATA.DEPTH      STR FPA
          FILE.TYPE       STR IMAGE
 	 FILE.MODE       STR WRITE
@@ -110,5 +115,5 @@
          EXTNAME.XTRA    STR NONE
          FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
+	 DATA.DEPTH      STR FPA
          FILE.TYPE       STR IMAGE
 	 FILE.MODE       STR WRITE
@@ -120,5 +125,5 @@
          EXTNAME.XTRA    STR NONE
          FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
+	 DATA.DEPTH      STR FPA
          FILE.TYPE       STR IMAGE
 	 FILE.MODE       STR WRITE
@@ -135,9 +140,4 @@
 	 FILE.MODE       STR READ
    END
-
-   # an indirect rule allows multiple, related output definitions
-#   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.CMF
-   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.CMP
-#   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.RAW
 
    PSPHOT.RESID  METADATA
@@ -146,6 +146,6 @@
          EXTNAME.RULE    STR {CELL.NAME}
          EXTNAME.XTRA    STR {CELL.NAME}
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
+         FILE.DEPTH 	 STR FPA
+	 DATA.DEPTH 	 STR FPA
 	 FILE.TYPE       STR IMAGE
 	 FILE.MODE       STR WRITE
@@ -157,9 +157,9 @@
         EXTNAME.RULE    STR {CELL.NAME}
         EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CHIP
-        DATA.DEPTH      STR CHIP 
+	FILE.DEPTH 	STR FPA
+        DATA.DEPTH      STR FPA 
 	FILE.TYPE       STR IMAGE
 	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
+	FILE.FORMAT	STR SIMPLE
    END
 
@@ -169,9 +169,9 @@
         EXTNAME.RULE    STR {CELL.NAME}
         EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CHIP
-        DATA.DEPTH      STR CHIP 
+	FILE.DEPTH 	STR FPA
+        DATA.DEPTH      STR FPA 
 	FILE.TYPE       STR IMAGE
 	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
+	FILE.FORMAT	STR SIMPLE
    END
 
@@ -181,9 +181,9 @@
         EXTNAME.RULE    STR {CELL.NAME}
         EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CHIP
-        DATA.DEPTH      STR CHIP 
+	FILE.DEPTH 	STR FPA
+        DATA.DEPTH      STR FPA 
 	FILE.TYPE       STR IMAGE
 	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
+	FILE.FORMAT	STR SIMPLE
    END
 
@@ -214,6 +214,6 @@
          EXTNAME.RULE    STR NONE
          EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
+         FILE.DEPTH 	 STR FPA
+	 DATA.DEPTH 	 STR FPA
 	 FILE.TYPE       STR RAW
 	 FILE.MODE       STR WRITE
@@ -224,6 +224,6 @@
          EXTNAME.RULE    STR NONE
          EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
+         FILE.DEPTH 	 STR FPA
+	 DATA.DEPTH 	 STR FPA
 	 FILE.TYPE       STR SX
 	 FILE.MODE       STR WRITE
@@ -234,6 +234,6 @@
          EXTNAME.RULE    STR NONE
          EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
+         FILE.DEPTH 	 STR FPA
+	 DATA.DEPTH 	 STR FPA
 	 FILE.TYPE       STR OBJ
 	 FILE.MODE       STR WRITE
@@ -244,6 +244,6 @@
          EXTNAME.RULE    STR NONE
          EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
+         FILE.DEPTH 	 STR FPA
+	 DATA.DEPTH 	 STR FPA
 	 FILE.TYPE       STR CMP
 	 FILE.MODE       STR WRITE
@@ -254,13 +254,10 @@
          EXTNAME.RULE    STR SMPDATA
          EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
+         FILE.DEPTH 	 STR FPA
+	 DATA.DEPTH 	 STR FPA
 	 FILE.TYPE       STR CMF
 	 FILE.MODE       STR WRITE
    END
 
-   PSASTRO.INPUT	 STR PSASTRO.INPUT.CMP
-   PSASTRO.OUTPUT	 STR PSASTRO.OUTPUT.CMP
-
    PSASTRO.INPUT.CMP  METADATA
          FILENAME.RULE   STR @FILES
@@ -268,6 +265,6 @@
          EXTNAME.RULE    STR NONE
          EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
+         FILE.DEPTH 	 STR FPA
+	 DATA.DEPTH 	 STR FPA
 	 FILE.TYPE       STR CMP
 	 FILE.MODE       STR READ
@@ -278,6 +275,6 @@
          EXTNAME.RULE    STR SMPDATA
          EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
+         FILE.DEPTH 	 STR FPA
+	 DATA.DEPTH 	 STR FPA
 	 FILE.TYPE       STR CMF
 	 FILE.MODE       STR READ
@@ -289,6 +286,6 @@
          EXTNAME.RULE    STR NONE
          EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
+         FILE.DEPTH 	 STR FPA
+	 DATA.DEPTH 	 STR FPA
 	 FILE.TYPE       STR CMP
 	 FILE.MODE       STR WRITE
Index: /trunk/ippconfig/megacam_alternate/format.config
===================================================================
--- /trunk/ippconfig/megacam_alternate/format.config	(revision 7531)
+++ /trunk/ippconfig/megacam_alternate/format.config	(revision 7532)
@@ -3,5 +3,5 @@
 # How to identify this type
 RULE	METADATA
-        RUNID           STR     03BH11
+#        RUNID           STR     03BH11
         DETECTOR        STR     MegaCam
 	SIMPLE		BOOL	TRUE
@@ -23,7 +23,8 @@
 	amplifier	METADATA
 		CELL.TRIMSEC.SOURCE	STR	VALUE
-		CELL.BIASSEC.SOURCE	STR	HEADER
-		CELL.TRIMSEC		STR	[0:0,0:0]
-		CELL.BIASSEC		STR	BIASSEC
+		CELL.BIASSEC.SOURCE	STR	VALUE
+		# CELL.TRIMSEC		STR	[11:2100,1:4644]  # col1 <= 0 -> decrement relative to NAXIS1
+		CELL.TRIMSEC		STR	[10:0,1:0]  # col1 <= 0 -> decrement relative to NAXIS1
+		# CELL.BIASSEC		STR	[1:9,1:4644]  # empty region
 	END
 END
Index: /trunk/ippconfig/megacam_alternate/psphot.config
===================================================================
--- /trunk/ippconfig/megacam_alternate/psphot.config	(revision 7531)
+++ /trunk/ippconfig/megacam_alternate/psphot.config	(revision 7532)
@@ -1,7 +1,7 @@
 
-#SAVE.BACKMDL	BOOL 	TRUE
-#SAVE.BACKGND	BOOL 	TRUE
-#SAVE.BACKSUB	BOOL 	TRUE
-#SAVE.RESID	BOOL 	TRUE
+SAVE.BACKMDL	BOOL 	TRUE
+SAVE.BACKGND	BOOL 	TRUE
+SAVE.BACKSUB	BOOL 	TRUE
+SAVE.RESID	BOOL 	TRUE
 #SAVE.PSF	BOOL 	TRUE
 #LOAD.PSF	BOOL 	FALSE
Index: /trunk/ippconfig/megacam_detrended/camera.config
===================================================================
--- /trunk/ippconfig/megacam_detrended/camera.config	(revision 7531)
+++ /trunk/ippconfig/megacam_detrended/camera.config	(revision 7532)
@@ -3,5 +3,5 @@
 # File formats that we know about
 FORMATS		METADATA
-	SPLICE	STR	megacam_detrended/format_spliced.config
+	SPLICED	STR	megacam_detrended/format_spliced.config
 	SPLIT	STR	megacam_detrended/format_split.config
 END
@@ -56,278 +56,47 @@
 
 FILERULES METADATA
-   PPIMAGE.INPUT  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CELL.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
-   PPIMAGE.OUTPUT  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
-   PPIMAGE.BIN1  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin1.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
-   PPIMAGE.BIN2  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin2.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
-   PPIMAGE.JPEG1  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin1.jpg
-         FILENAME.XTRA   STR -greyscale
-         EXTNAME.RULE    STR RANGE
-         EXTNAME.XTRA    STR -5:20
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR JPEG
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
-   PPIMAGE.JPEG2  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin2.jpg
-         FILENAME.XTRA   STR rainbow
-         EXTNAME.RULE    STR FRACTION
-         EXTNAME.XTRA    STR 0.50:2.00
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR JPEG
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
+   # filerule aliases: select the version you prefer for the given type
+   PSPHOT.OUTPUT      STR PSPHOT.OUTPUT.CMP
+   PSASTRO.INPUT      STR PSASTRO.INPUT.CMP
+   PSASTRO.OUTPUT     STR PSASTRO.OUTPUT.CMP
 
-   PPIMAGE.BIAS  METADATA
-         FILENAME.RULE   STR bias.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
-   PPIMAGE.DARK  METADATA
-         FILENAME.RULE   STR dark.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
-   PPIMAGE.FLAT  METADATA
-         FILENAME.RULE   STR flat.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
-   PPIMAGE.MASK  METADATA
-         FILENAME.RULE   STR mask.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
+   TYPE               FILERULE FILENAME.RULE                 FILENAME.XTRA EXTNAME.RULE EXTNAME.XTRA FILE.DEPTH DATA.DEPTH FILE.TYPE FILE.MODE FILE.FORMAT
+   PPIMAGE.INPUT    FILERULE @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       CHIP       IMAGE     READ      NONE
+   # PPIMAGE.INPUT      FILERULE @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         FPA        CHIP       IMAGE     READ      NONE
 
-   PSPHOT.INPUT  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CELL.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
+   PPIMAGE.OUTPUT     FILERULE {OUTPUT}.{CHIP.NAME}.fit      {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     SPLIT
+   PPIMAGE.BIN1       FILERULE {OUTPUT}.{CHIP.NAME}.b1.fit   {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     SPLIT
+   PPIMAGE.BIN2       FILERULE {OUTPUT}.{CHIP.NAME}.b2.fit   {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     SPLIT
+   PPIMAGE.JPEG1      FILERULE {OUTPUT}.{CHIP.NAME}.b1.jpg   -greyscale    RANGE        -5:20        CHIP       CHIP       JPEG      WRITE     SPLIT
+   PPIMAGE.JPEG2      FILERULE {OUTPUT}.{CHIP.NAME}.b2.jpg   -greyscale    FRACTION     0.50:2.00    CHIP       CHIP       JPEG      WRITE     SPLIT
 
-   # an indirect rule allows multiple, related output definitions
-#   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.CMF
-   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.CMP
-#   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.RAW
+   PSPHOT.INPUT       FILERULE @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       CHIP       IMAGE     READ      NONE
+   PSPHOT.RESID       FILERULE {OUTPUT}.res.fits             {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SPLICED
+   PSPHOT.BACKGND     FILERULE {OUTPUT}.bck.fits             {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SPLICED
+   PSPHOT.BACKSUB     FILERULE {OUTPUT}.sub.fits             {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SPLICED
+   PSPHOT.BACKMDL     FILERULE {OUTPUT}.mdl.fits             {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SPLICED
 
-   PSPHOT.RESID  METADATA
-         FILENAME.RULE   STR {OUTPUT}.res.fits
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR {CELL.NAME}
-         EXTNAME.XTRA    STR {CELL.NAME}
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
+   PSPHOT.OUTPUT.RAW  FILERULE {OUTPUT}.{CHIP.NAME}          NONE          NONE         PHU          CHIP       CHIP       RAW       WRITE     NONE
+   PSPHOT.OUTPUT.SX   FILERULE {OUTPUT}.sx                   NONE          NONE         PHU          CHIP       CHIP       SX        WRITE     NONE
+   PSPHOT.OUTPUT.OBJ  FILERULE {OUTPUT}.obj                  NONE          NONE         PHU          CHIP       CHIP       OBJ       WRITE     NONE
+   PSPHOT.OUTPUT.CMP  FILERULE {OUTPUT}.{CHIP.NAME}.{CELL.NAME}.cmp NONE   NONE         PHU          CELL       CELL       CMP       WRITE     NONE
+   PSPHOT.OUTPUT.CMF  FILERULE {OUTPUT}.cmf                  NONE          SMPDATA      PHU          CHIP       CHIP       CMF       WRITE     NONE
 
-   PSPHOT.BACKGND  METADATA
-        FILENAME.RULE   STR {OUTPUT}.bck.fits
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CHIP
-        DATA.DEPTH      STR CHIP 
-	FILE.TYPE       STR IMAGE
-	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
-   END
+   PSASTRO.INPUT.CMP  FILERULE @FILES                        NONE          NONE         PHU          CHIP       CHIP       CMP       READ      NONE
+   PSASTRO.INPUT.CMF  FILERULE @FILES                        NONE          SMPDATA      PHU          CHIP       CHIP       CMF       READ      NONE
+   PSASTRO.OUTPUT.CMP FILERULE {OUTPUT}.xmp                  NONE          NONE         PHU          CHIP       CHIP       CMP       WRITE     NONE
+END
 
-   PSPHOT.BACKSUB  METADATA
-        FILENAME.RULE   STR {OUTPUT}.sub.fits
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CHIP
-        DATA.DEPTH      STR CHIP 
-	FILE.TYPE       STR IMAGE
-	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
-   END
+#   PSPHOT.PSF.SAVE    FILERULE {OUTPUT}.{CHIP.NAME}.psf.txt  {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  READOUT    READOUT    PSF       WRITE    SIMPLE
+#   PSPHOT.PSF.LOAD    FILERULE {OUTPUT}.{CHIP.NAME}.psf.txt  {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  CELL       CELL       PSF       READ     NONE
 
-   PSPHOT.BACKMDL  METADATA
-        FILENAME.RULE   STR {OUTPUT}.mdl.fits
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CHIP
-        DATA.DEPTH      STR CHIP 
-	FILE.TYPE       STR IMAGE
-	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
-   END
+# we should not need the detrend input images: these are detrended images!
+#   PPIMAGE.BIAS       FILERULE bias.mef.fits                 {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     READ     NONE
+#   PPIMAGE.DARK       FILERULE dark.mef.fits                 {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     READ     NONE
+#   PPIMAGE.FLAT       FILERULE flat.mef.fits                 {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     READ     NONE
+#   PPIMAGE.MASK       FILERULE mask.mef.fits                 {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     READ     NONE
+#   PPIMAGE.BIAS       FILERULE bias.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ     NONE
+#   PPIMAGE.DARK       FILERULE dark.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ     NONE
+#   PPIMAGE.FLAT       FILERULE flat.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ     NONE
+#   PPIMAGE.MASK       FILERULE mask.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ     NONE
 
-   PSPHOT.PSF.SAVE  METADATA
-        FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.psf.txt
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR READOUT
-        DATA.DEPTH      STR READOUT 
-	FILE.TYPE       STR PSF
-	FILE.MODE	STR WRITE
-   END
-   PSPHOT.PSF.LOAD  METADATA
-        FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.psf.txt
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CELL
-        DATA.DEPTH      STR CELL 
-	FILE.TYPE       STR PSF
-	FILE.MODE	STR READ
-   END
-
-   PSPHOT.OUTPUT.RAW  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR RAW
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.SX   METADATA
-         FILENAME.RULE   STR {OUTPUT}.sx
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR SX
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.OBJ  METADATA
-         FILENAME.RULE   STR {OUTPUT}.obj
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR OBJ
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.CMP  METADATA
-         FILENAME.RULE   STR {OUTPUT}.cmp
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMP
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.CMF  METADATA
-         FILENAME.RULE   STR {OUTPUT}.cmf
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR SMPDATA
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMF
-	 FILE.MODE       STR WRITE
-   END
-
-   PSASTRO.INPUT	 STR PSASTRO.INPUT.CMP
-   PSASTRO.OUTPUT	 STR PSASTRO.OUTPUT.CMP
-
-   PSASTRO.INPUT.CMP  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMP
-	 FILE.MODE       STR READ
-   END
-   PSASTRO.INPUT.CMF  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR SMPDATA
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMF
-	 FILE.MODE       STR READ
-   END
-
-   PSASTRO.OUTPUT.CMP  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.xmp
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMP
-	 FILE.MODE       STR WRITE
-   END
-END
Index: /trunk/ippconfig/megacam_detrended/format_spliced.config
===================================================================
--- /trunk/ippconfig/megacam_detrended/format_spliced.config	(revision 7531)
+++ /trunk/ippconfig/megacam_detrended/format_spliced.config	(revision 7532)
@@ -1,3 +1,4 @@
-# The spliced MecaCam data is stored in single extensions for each chip
+# The spliced MegaCam data is stored in single extensions for each chip
+# this file is for DETREND Megacam images
 
 # How to recognise this type
@@ -5,10 +6,11 @@
 	TELESCOP	STR	CFHT 3.6m
 	DETECTOR	STR	MegaCam
+	IMRED_OP	STR     MASK_BP + OVERSCAN + BIAS + FLAT-FIELD
 	EXTEND		BOOL	T
 	NEXTEND		S32	36
 END
 
-FORMAT	METADATA
-	# How to read this data
+# How to read this data
+FILE	METADATA
 	PHU		STR	FPA	# The FITS file represents an entire FPA
 	EXTENSIONS	STR	CHIP	# The extensions represent chips
@@ -20,40 +22,40 @@
 CONTENTS	METADATA
 	# Extension name, chip name:component cell
-	ccd00		STR	ccd00:ccd
-	ccd01		STR	ccd01:ccd
-	ccd02		STR	ccd02:ccd
-	ccd03		STR	ccd03:ccd
-	ccd04		STR	ccd04:ccd
-	ccd05		STR	ccd05:ccd
-	ccd06		STR	ccd06:ccd
-	ccd07		STR	ccd07:ccd
-	ccd08		STR	ccd08:ccd
-	ccd09		STR	ccd09:ccd
-	ccd10		STR	ccd10:ccd
-	ccd11		STR	ccd11:ccd
-	ccd12		STR	ccd12:ccd
-	ccd13		STR	ccd13:ccd
-	ccd14		STR	ccd14:ccd
-	ccd15		STR	ccd15:ccd
-	ccd16		STR	ccd16:ccd
-	ccd17		STR	ccd17:ccd
-	ccd18		STR	ccd18:ccd
-	ccd19		STR	ccd19:ccd
-	ccd20		STR	ccd20:ccd
-	ccd21		STR	ccd21:ccd
-	ccd22		STR	ccd22:ccd
-	ccd23		STR	ccd23:ccd
-	ccd24		STR	ccd24:ccd
-	ccd25		STR	ccd25:ccd
-	ccd26		STR	ccd26:ccd
-	ccd27		STR	ccd27:ccd
-	ccd28		STR	ccd28:ccd
-	ccd29		STR	ccd29:ccd
-	ccd30		STR	ccd30:ccd
-	ccd31		STR	ccd31:ccd
-	ccd32		STR	ccd32:ccd
-	ccd33		STR	ccd33:ccd
-	ccd34		STR	ccd34:ccd
-	ccd35		STR	ccd35:ccd
+	ccd00		STR	ccd00:ccd:ccd
+	ccd01		STR	ccd01:ccd:ccd
+	ccd02		STR	ccd02:ccd:ccd
+	ccd03		STR	ccd03:ccd:ccd
+	ccd04		STR	ccd04:ccd:ccd
+	ccd05		STR	ccd05:ccd:ccd
+	ccd06		STR	ccd06:ccd:ccd
+	ccd07		STR	ccd07:ccd:ccd
+	ccd08		STR	ccd08:ccd:ccd
+	ccd09		STR	ccd09:ccd:ccd
+	ccd10		STR	ccd10:ccd:ccd
+	ccd11		STR	ccd11:ccd:ccd
+	ccd12		STR	ccd12:ccd:ccd
+	ccd13		STR	ccd13:ccd:ccd
+	ccd14		STR	ccd14:ccd:ccd
+	ccd15		STR	ccd15:ccd:ccd
+	ccd16		STR	ccd16:ccd:ccd
+	ccd17		STR	ccd17:ccd:ccd
+	ccd18		STR	ccd18:ccd:ccd
+	ccd19		STR	ccd19:ccd:ccd
+	ccd20		STR	ccd20:ccd:ccd
+	ccd21		STR	ccd21:ccd:ccd
+	ccd22		STR	ccd22:ccd:ccd
+	ccd23		STR	ccd23:ccd:ccd
+	ccd24		STR	ccd24:ccd:ccd
+	ccd25		STR	ccd25:ccd:ccd
+	ccd26		STR	ccd26:ccd:ccd
+	ccd27		STR	ccd27:ccd:ccd
+	ccd28		STR	ccd28:ccd:ccd
+	ccd29		STR	ccd29:ccd:ccd
+	ccd30		STR	ccd30:ccd:ccd
+	ccd31		STR	ccd31:ccd:ccd
+	ccd32		STR	ccd32:ccd:ccd
+	ccd33		STR	ccd33:ccd:ccd
+	ccd34		STR	ccd34:ccd:ccd
+	ccd35		STR	ccd35:ccd:ccd
 END
 
Index: /trunk/ippconfig/megacam_detrended/format_split.config
===================================================================
--- /trunk/ippconfig/megacam_detrended/format_split.config	(revision 7531)
+++ /trunk/ippconfig/megacam_detrended/format_split.config	(revision 7532)
@@ -1,3 +1,4 @@
-# The split MecaCam data is stored in single file for each chip
+# The split MegaCam data is stored in single file for each chip
+# this file is for DETREND Megacam images
 
 # How to recognise this type
@@ -5,11 +6,11 @@
 	TELESCOP	STR	CFHT 3.6m
 	DETECTOR	STR	MegaCam
-	IMRED_NF	BOOL    T
+	IMRED_OP	STR     MASK_BP + OVERSCAN + BIAS + FLAT-FIELD
 END
 
 # How to read this data
 FILE	METADATA
-	PHU		STR	CHIP	# The FITS file represents an entire FPA
-	EXTENSIONS	STR	NONE	# The extensions represent chips
+	PHU		STR	CHIP	# The FITS file represents a chip
+	EXTENSIONS	STR	NONE	# There are no FITS extensions in this file
 	FPA.NAME	STR	EXPNUM	# A PHU keyword for unique identifier within the hierarchy level
 	CHIP.NAME	STR	EXTNAME	# An extension keyword for unique identifier
@@ -119,12 +120,2 @@
 	CELL.TIME	STR	MJD
 END
- 
-# How to get the supplementary stuff: mask and weight
-#### XXX these are probably not needed now
-SUPPLEMENTARY	METADATA
-	MASK.SOURCE	STR	FILE		# Source type for mask: EXT | FILE
-	MASK.NAME	STR	%a_mask.fits	# Name for mask extension or filename
-	WEIGHT.SOURCE	STR	FILE		# Source type for weight: EXT | FILE
-	WEIGHT.NAME	STR	%a_weight.fits	# Name for weight extension or filename
-END
-
Index: /trunk/ippconfig/megacam_detrended/psphot.config
===================================================================
--- /trunk/ippconfig/megacam_detrended/psphot.config	(revision 7531)
+++ /trunk/ippconfig/megacam_detrended/psphot.config	(revision 7532)
@@ -17,8 +17,8 @@
 
 # masking parameters
-XMIN                F32   2        	 # minimum valid x-coord
-XMAX                F32   -2        	 # maximum valid x-coord
-YMIN                F32   2        	 # minimum valid y-coord
-YMAX                F32   -2        	 # maximum valid y-coord
+XMIN                F32   +50        	 # minimum valid x-coord
+XMAX                F32   -50        	 # maximum valid x-coord
+YMIN                F32   +50        	 # minimum valid y-coord
+YMAX                F32   -50        	 # maximum valid y-coord
 SATURATION          F32  50000     	 # saturation level on this chip
 MIN_VALID_PIXEL     F32      1     	 # saturation level on this chip
@@ -86,5 +86,5 @@
 PEAKS_OUTPUT_FILE   STR  peaks.dat
 # MOMENTS_OUTPUT_FILE STR  moments.dat
-# ANALYSIS_REGION     STR  [1000:1600,2800:3400]
+# ANALYSIS_REGION     STR  [100:2000,100:4500]
 # POISSON_ERRORS      BOOL TRUE
 # SKY_BIAS            F32  0.0
Index: /trunk/ippconfig/psastro_template.config
===================================================================
--- /trunk/ippconfig/psastro_template.config	(revision 7532)
+++ /trunk/ippconfig/psastro_template.config	(revision 7532)
@@ -0,0 +1,36 @@
+
+# astrometry matching parameters
+
+# nominal plate scale (microns / pixel)
+# PSASTRO.PLATE.SCALE    F32  13.5
+PSASTRO.PLATE.SCALE    F32  1.0
+
+# pmAstromGridMatch:
+PSASTRO.GRID.MIN.ANGLE F32 -0.0851
+PSASTRO.GRID.MAX.ANGLE F32 +0.0851
+PSASTRO.GRID.DEL.ANGLE F32  0.0170
+
+# pmAstromGridAngle
+# max grid offset in FP units (microns)
+# use plate-scale to make this in pixels?
+# PSASTRO.GRID.OFFSET    F32  10000.
+# PSASTRO.GRID.SCALE     F32    500.
+PSASTRO.GRID.OFFSET    F32   1000.
+PSASTRO.GRID.SCALE     F32     50
+
+# these tweak are in FP units (pixels, currently)
+PSASTRO.TWEAK.SCALE     F32      1
+PSASTRO.TWEAK.RANGE     F32     75
+PSASTRO.TWEAK.SMOOTH    F32      2
+PSASTRO.TWEAK.NSIGMA    F32      3
+
+# pmAstromRadiusMatch
+# use plate-scale to make this in pixels?
+PSASTRO.MATCH.RADIUS   F32    8
+
+# pmAstromMatchFit
+PSASTRO.CHIP.NX        S32      1  # fit order
+PSASTRO.CHIP.NY        S32      1  # fit order
+PSASTRO.CHIP.NITER     S32      3  # fit clipping iterations
+PSASTRO.CHIP.NSIGMA    F32      3  # fit clipping sigmas
+
Index: /trunk/ippconfig/simple/camera.config
===================================================================
--- /trunk/ippconfig/simple/camera.config	(revision 7531)
+++ /trunk/ippconfig/simple/camera.config	(revision 7532)
@@ -16,281 +16,42 @@
 	PHASE2		STR	simple/phase2.config		# Phase 2 recipe details
 	PSPHOT		STR	simple/psphot.config		# psphot details
+	PSASTRO		STR	simple/psastro.config		# psastro details
 END
 
 FILERULES METADATA
-   PPIMAGE.INPUT  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CELL.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA
-	 DATA.DEPTH      STR FPA
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
-   PPIMAGE.OUTPUT  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
-   PPIMAGE.BIN1  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin1.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
-   PPIMAGE.BIN2  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin2.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
-   PPIMAGE.JPEG1  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin1.jpg
-         FILENAME.XTRA   STR -greyscale
-         EXTNAME.RULE    STR RANGE
-         EXTNAME.XTRA    STR -5:20
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR JPEG
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
-   PPIMAGE.JPEG2  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.bin2.jpg
-         FILENAME.XTRA   STR rainbow
-         EXTNAME.RULE    STR FRACTION
-         EXTNAME.XTRA    STR 0.50:2.00
-         FILE.DEPTH      STR CHIP 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR JPEG
-	 FILE.MODE       STR WRITE
-	 FILE.FORMAT     STR SPLIT
-   END
+   PSASTRO.INPUT      STR PSASTRO.INPUT.CMP
+   PSASTRO.OUTPUT     STR PSASTRO.OUTPUT.CMP
+   PSPHOT.OUTPUT      STR PSPHOT.OUTPUT.CMP
 
-   PPIMAGE.BIAS  METADATA
-         FILENAME.RULE   STR bias.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
-   PPIMAGE.DARK  METADATA
-         FILENAME.RULE   STR dark.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
-   PPIMAGE.FLAT  METADATA
-         FILENAME.RULE   STR flat.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
-   PPIMAGE.MASK  METADATA
-         FILENAME.RULE   STR mask.fits
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CHIP.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR CHIP
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
+   TYPE               FILERULE FILENAME.RULE                 FILENAME.XTRA EXTNAME.RULE EXTNAME.XTRA FILE.DEPTH DATA.DEPTH FILE.TYPE FILE.MODE FILE.FORMAT
+   PPIMAGE.INPUT      FILERULE @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         FPA        CHIP       IMAGE     READ      NONE
 
-   PSPHOT.INPUT  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR {CHIP.NAME}
-         EXTNAME.RULE    STR {CELL.NAME}
-         EXTNAME.XTRA    STR NONE
-         FILE.DEPTH      STR FPA 
-	 DATA.DEPTH      STR FPA
-         FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR READ
-   END
+   PPIMAGE.OUTPUT     FILERULE {OUTPUT}.{CHIP.NAME}.fit      {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     NONE
+   PPIMAGE.BIN1       FILERULE {OUTPUT}.{CHIP.NAME}.b1.fit   {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     SIMPLE
+   PPIMAGE.BIN2       FILERULE {OUTPUT}.{CHIP.NAME}.b2.fit   {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     SIMPLE
+   PPIMAGE.JPEG1      FILERULE {OUTPUT}.{CHIP.NAME}.b1.jpg   -greyscale    RANGE        -5:20        CHIP       CHIP       JPEG      WRITE     SIMPLE
+   PPIMAGE.JPEG2      FILERULE {OUTPUT}.{CHIP.NAME}.b2.jpg   -greyscale    FRACTION     0.50:2.00    CHIP       CHIP       JPEG      WRITE     SIMPLE
+   PPIMAGE.BIAS       FILERULE bias.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ      NONE
+   PPIMAGE.DARK       FILERULE dark.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ      NONE
+   PPIMAGE.FLAT       FILERULE flat.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ      NONE
+   PPIMAGE.MASK       FILERULE mask.fits                     {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     READ      NONE
 
-   # an indirect rule allows multiple, related output definitions
-#   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.CMF
-   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.CMP
-#   PSPHOT.OUTPUT	 STR PSPHOT.OUTPUT.RAW
+   PSPHOT.INPUT       FILERULE @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       CHIP       IMAGE     WRITE     SIMPLE
+   PSPHOT.RESID       FILERULE {OUTPUT}.res.fits             NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SIMPLE
+   PSPHOT.BACKGND     FILERULE {OUTPUT}.bck.fits             NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SIMPLE
+   PSPHOT.BACKSUB     FILERULE {OUTPUT}.sub.fits             NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SIMPLE
+   PSPHOT.BACKMDL     FILERULE {OUTPUT}.mdl.fits             NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     WRITE     SIMPLE
 
-   PSPHOT.RESID  METADATA
-         FILENAME.RULE   STR {OUTPUT}.res.fits
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR {CELL.NAME}
-         EXTNAME.XTRA    STR {CELL.NAME}
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR IMAGE
-	 FILE.MODE       STR WRITE
-   END
+   PSPHOT.OUTPUT.RAW  FILERULE {OUTPUT}.{CHIP.NAME}          NONE          NONE         PHU          CHIP       CHIP       RAW       WRITE     NONE
+   PSPHOT.OUTPUT.SX   FILERULE {OUTPUT}.sx                   NONE          NONE         PHU          CHIP       CHIP       SX        WRITE     NONE
+   PSPHOT.OUTPUT.OBJ  FILERULE {OUTPUT}.obj                  NONE          NONE         PHU          CHIP       CHIP       OBJ       WRITE     NONE
+   PSPHOT.OUTPUT.CMP  FILERULE {OUTPUT}.{CHIP.NAME}.{CELL.NAME}.cmp NONE   NONE         PHU          CELL       CELL       CMP       WRITE     NONE
+   PSPHOT.OUTPUT.CMF  FILERULE {OUTPUT}.cmf                  NONE          SMPDATA      PHU          CHIP       CHIP       CMF       WRITE     NONE
 
-   PSPHOT.BACKGND  METADATA
-        FILENAME.RULE   STR {OUTPUT}.bck.fits
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CHIP
-        DATA.DEPTH      STR CHIP 
-	FILE.TYPE       STR IMAGE
-	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
-   END
+   PSASTRO.INPUT.CMP  FILERULE @FILES                        NONE          NONE         PHU          CHIP       CHIP       CMP       READ      NONE
+   PSASTRO.INPUT.CMF  FILERULE @FILES                        NONE          SMPDATA      PHU          CHIP       CHIP       CMF       READ      NONE
+   PSASTRO.OUTPUT.CMP FILERULE {OUTPUT}.smp                  NONE          NONE         PHU          CHIP       CHIP       CMP       WRITE     NONE
+END
 
-   PSPHOT.BACKSUB  METADATA
-        FILENAME.RULE   STR {OUTPUT}.sub.fits
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CHIP
-        DATA.DEPTH      STR CHIP 
-	FILE.TYPE       STR IMAGE
-	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
-   END
-
-   PSPHOT.BACKMDL  METADATA
-        FILENAME.RULE   STR {OUTPUT}.mdl.fits
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CHIP
-        DATA.DEPTH      STR CHIP 
-	FILE.TYPE       STR IMAGE
-	FILE.MODE	STR WRITE
-	FILE.FORMAT	STR SPLIT
-   END
-
-   PSPHOT.PSF.SAVE  METADATA
-        FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.psf.txt
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR READOUT
-        DATA.DEPTH      STR READOUT 
-	FILE.TYPE       STR PSF
-	FILE.MODE	STR WRITE
-   END
-   PSPHOT.PSF.LOAD  METADATA
-        FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}.psf.txt
-        FILENAME.XTRA   STR {CHIP.NAME}
-        EXTNAME.RULE    STR {CELL.NAME}
-        EXTNAME.XTRA    STR {CELL.NAME}
-	FILE.DEPTH 	STR CELL
-        DATA.DEPTH      STR CELL 
-	FILE.TYPE       STR PSF
-	FILE.MODE	STR READ
-   END
-
-   PSPHOT.OUTPUT.RAW  METADATA
-         FILENAME.RULE   STR {OUTPUT}.{CHIP.NAME}
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR RAW
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.SX   METADATA
-         FILENAME.RULE   STR {OUTPUT}.sx
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR SX
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.OBJ  METADATA
-         FILENAME.RULE   STR {OUTPUT}.obj
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR OBJ
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.CMP  METADATA
-         FILENAME.RULE   STR {OUTPUT}.cmp
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMP
-	 FILE.MODE       STR WRITE
-   END
-   PSPHOT.OUTPUT.CMF  METADATA
-         FILENAME.RULE   STR {OUTPUT}.cmf
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR SMPDATA
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMF
-	 FILE.MODE       STR WRITE
-   END
-
-   PSASTRO.INPUT	 STR PSASTRO.INPUT.CMP
-   PSASTRO.OUTPUT	 STR PSASTRO.OUTPUT.CMP
-
-   PSASTRO.INPUT.CMP  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMP
-	 FILE.MODE       STR READ
-   END
-   PSASTRO.INPUT.CMF  METADATA
-         FILENAME.RULE   STR @FILES
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR SMPDATA
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMF
-	 FILE.MODE       STR READ
-   END
-
-   PSASTRO.OUTPUT.CMP  METADATA
-         FILENAME.RULE   STR {OUTPUT}.smp
-         FILENAME.XTRA   STR NONE
-         EXTNAME.RULE    STR NONE
-         EXTNAME.XTRA    STR PHU
-         FILE.DEPTH 	 STR CHIP
-	 DATA.DEPTH 	 STR CHIP
-	 FILE.TYPE       STR CMP
-	 FILE.MODE       STR WRITE
-   END
-END
+#   PSPHOT.PSF.SAVE    FILERULE {OUTPUT}.{CHIP.NAME}.psf.txt  {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  READOUT    READOUT    PSF       WRITE    SIMPLE
+#   PSPHOT.PSF.LOAD    FILERULE {OUTPUT}.{CHIP.NAME}.psf.txt  {CHIP.NAME}   {CELL.NAME}  {CELL.NAME}  CELL       CELL       PSF       READ     NONE
Index: /trunk/ippconfig/simple/format.config
===================================================================
--- /trunk/ippconfig/simple/format.config	(revision 7531)
+++ /trunk/ippconfig/simple/format.config	(revision 7532)
@@ -22,5 +22,5 @@
 		CELL.TRIMSEC.SOURCE	STR	HEADER
 		CELL.BIASSEC.SOURCE	STR	HEADER
-		CELL.TRIMSEC		STR	TRIMSEC
+		CELL.TRIMSEC		STR	DATASEC
 		CELL.BIASSEC		STR	BIASSEC
 	END
@@ -36,6 +36,6 @@
 	CELL.EXPOSURE	STR	EXPTIME
 	CELL.DARKTIME	STR	DARKTIME
-#	CELL.TIME	STR	DATE-OBS UTC-OBS	# Date and time
-	CELL.TIME	STR	DATE-OBS TIME-OBS	# Date and time
+	CELL.TIME	STR	DATE-OBS UTC-OBS	# Date and time
+#	CELL.TIME	STR	DATE-OBS TIME-OBS	# Date and time
 	CELL.XBIN	STR	CCDSUM
 	CELL.YBIN	STR	CCDSUM
Index: /trunk/ippconfig/simple/phase2.config
===================================================================
--- /trunk/ippconfig/simple/phase2.config	(revision 7532)
+++ /trunk/ippconfig/simple/phase2.config	(revision 7532)
@@ -0,0 +1,73 @@
+### Phase 2 recipe configuration file
+
+# List of tasks to perform
+MASK		BOOL	FALSE		# Mask bad pixels
+NONLIN		BOOL	FALSE		# Non-linearity correction
+OVERSCAN	BOOL	FALSE		# Overscan subtraction
+BIAS		BOOL	FALSE		# Bias subtraction
+DARK		BOOL	FALSE		# Dark subtraction
+FLAT		BOOL	FALSE		# Flat-field normalisation
+FRINGE		BOOL	FALSE		# Fringe subtraction
+SOURCE		BOOL	FALSE		# Source identification and photometry
+ASTROM		BOOL	FALSE		# Astrometry
+BIN1.FITS	BOOL	TRUE
+BIN2.FITS	BOOL	TRUE
+BIN1.JPEG	BOOL	FALSE
+BIN2.JPEG	BOOL	FALSE
+
+# Non-linearity correction
+NONLIN.SOURCE		STR	CHIP.NAME	# How to determine the source
+#@NONLIN.DATA		F32	0.0 1.001 0.001	# A polynomial
+NONLIN.DATA		STR	nonlin.dat	# Filename for lookup table
+#NONLIN.DATA		METADATA		# Source of non-linearity data
+#	ccd00		STR	nonlin00.dat	# A lookup table 
+#	@ccd01		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd02		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd03		F32	1.2345 		# A polynomial
+#	@ccd04		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd05		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd06		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd07		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd08		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd09		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd10		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd11		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd12		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd13		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd14		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd15		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd16		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd17		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd18		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd19		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd10		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd21		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd22		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd23		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd24		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd25		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd26		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd27		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd28		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd29		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd30		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd31		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd32		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd33		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd34		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd35		F32	0.0 1.001 0.001	# A polynomial
+#	@ccd36		F32	0.0 1.001 0.001	# A polynomial
+#END
+
+# Overscan subtraction
+OVERSCAN.SINGLE		BOOL	FALSE		# Reduce overscan to a single value?
+#OVERSCAN.FIT		STR	SPLINE		# NONE | POLYNOMIAL | SPLINE
+OVERSCAN.FIT		STR	POLYNOMIAL	# NONE | POLYNOMIAL | SPLINE
+OVERSCAN.ORDER		S32	5		# Order of polynomial fit
+OVERSCAN.STAT		STR	MEAN		# MEAN | MEDIAN
+
+# binned output image options
+BIN1.XBIN		S32	8
+BIN1.YBIN		S32	8
+BIN2.XBIN		S32	64
+BIN2.YBIN		S32	64
Index: /trunk/ippconfig/simple/psastro.config
===================================================================
--- /trunk/ippconfig/simple/psastro.config	(revision 7532)
+++ /trunk/ippconfig/simple/psastro.config	(revision 7532)
@@ -0,0 +1,36 @@
+
+# astrometry matching parameters
+
+# nominal plate scale (microns / pixel)
+# PSASTRO.PLATE.SCALE    F32  13.5
+PSASTRO.PLATE.SCALE    F32  1.0
+
+# pmAstromGridMatch:
+PSASTRO.GRID.MIN.ANGLE F32 -0.0851
+PSASTRO.GRID.MAX.ANGLE F32 +0.0851
+PSASTRO.GRID.DEL.ANGLE F32  0.0170
+
+# pmAstromGridAngle
+# max grid offset in FP units (microns)
+# use plate-scale to make this in pixels?
+# PSASTRO.GRID.OFFSET    F32  10000.
+# PSASTRO.GRID.SCALE     F32    500.
+PSASTRO.GRID.OFFSET    F32   1000.
+PSASTRO.GRID.SCALE     F32     50
+
+# these tweak are in FP units (pixels, currently)
+PSASTRO.TWEAK.SCALE     F32      1
+PSASTRO.TWEAK.RANGE     F32     75
+PSASTRO.TWEAK.SMOOTH    F32      2
+PSASTRO.TWEAK.NSIGMA    F32      3
+
+# pmAstromRadiusMatch
+# use plate-scale to make this in pixels?
+PSASTRO.MATCH.RADIUS   F32    8
+
+# pmAstromMatchFit
+PSASTRO.CHIP.NX        S32      1  # fit order
+PSASTRO.CHIP.NY        S32      1  # fit order
+PSASTRO.CHIP.NITER     S32      3  # fit clipping iterations
+PSASTRO.CHIP.NSIGMA    F32      3  # fit clipping sigmas
+
