Index: trunk/ippconfig/simple/Makefile.am
===================================================================
--- trunk/ippconfig/simple/Makefile.am	(revision 17398)
+++ trunk/ippconfig/simple/Makefile.am	(revision 17523)
@@ -7,6 +7,5 @@
 	ppImage.config \
 	psastro.config \
-	psphot.config \
-	filerules.mdc
+	psphot.config
 
 install_DATA = $(install_files)
Index: trunk/ippconfig/simple/camera.config
===================================================================
--- trunk/ippconfig/simple/camera.config	(revision 17398)
+++ trunk/ippconfig/simple/camera.config	(revision 17523)
@@ -45,109 +45,10 @@
 END
 
-# Reduction classes
-REDUCTION	METADATA
-	# Detrend processing
-	DETREND		METADATA
-		BIAS_PROCESS	STR	PPIMAGE_O
-		BIAS_RESID	STR	PPIMAGE_B
-		BIAS_VERIFY	STR	PPIMAGE_OB
-		BIAS_STACK	STR	PPMERGE_BIAS
-		DARK_PROCESS	STR	PPIMAGE_OB
-		DARK_RESID	STR	PPIMAGE_D
-		DARK_VERIFY	STR	PPIMAGE_OBD
-		DARK_STACK	STR	PPMERGE_DARK
-		SHUTTER_PROCESS	STR	PPIMAGE_OBD
-		SHUTTER_RESID	STR	PPIMAGE_S
-		SHUTTER_VERIFY	STR	PPIMAGE_OBDS
-		SHUTTER_STACK	STR	PPMERGE_SHUTTER
-		FLAT_PROCESS	STR	PPIMAGE_OBDS
-		FLAT_RESID	STR	PPIMAGE_F
-		FLAT_VERIFY	STR	PPIMAGE_OBDSF
-		FLAT_STACK	STR	PPMERGE_FLAT
-		FRINGE_PROCESS	STR	PPIMAGE_OBDSF
-		FRINGE_RESID	STR	PPIMAGE_R
-		FRINGE_VERIFY	STR	PPIMAGE_OBDSFR
-		FRINGE_STACK	STR	PPMERGE_FRINGE
-	END
-	# Processing raw data
-	DEFAULT		METADATA
-		CHIP		STR	PPIMAGE_OBDSFRA
-	END
-END
+# reduction classes (recipes which are grouped together)
+REDUCTION	STR	recipes/reductionClasses.mdc
 
-FITS    METADATA
-# BITPIX is the bits per pixel for writing the output data
-# COMP = NONE|RICE|GZIP|HCOMPRESS|PLIO is the compression algorithm
-# TILE.[XYZ] are the tile sizes.  0 means entire the dimension, so (0,1,1) forms tiles from rows
-# NOISE [0..16] is the number of "noise bits" to preserve when quantising floating point data; 16 for no loss
-# HSCALE is the scale factor for lossy compression with HCOMPRESS; 0 or 1 for none; 2*RMS --> 10x compression
-# HSMOOTH is the smoothing to apply to HCOMPRESSed data when decompressing; 0 for none
+FITSTYPES       STR     recipes/fitstypes.mdc
 
-# BITPIX(S32) is the bits per pixel for writing the output data
-# COMPRESSION(STR) = NONE|RICE|GZIP|HCOMPRESS|PLIO is the compression algorithm
-# TILE.[XYZ](S32) are the tile sizes.  0 means entire the dimension, so (0,1,1) forms tiles from rows
-# NOISE(S32) [0..16] is the number of "noise bits" to preserve when quantising floating point data
-# HSCALE(S32) is the scale factor for lossy compression with HCOMPRESS; 0 or 1 for none; 2*RMS --> 10x compression
-# HSMOOTH(S32) is the smoothing to apply to HCOMPRESSed data when decompressing; 0 for none
-# SCALING(STR) = NONE|RANGE|STDEV_POSITIVE|STDEV_NEGATIVE|STDEV_BOTH|MANUAL is the scaling scheme
-# BSCALE(F32) is the manual scaling to apply (when SCALING = MANUAL)
-# BZERO(F32) is the manual zero-point to apply (when SCALING = MANUAL)
-# STDEV.BITS(S32) is the number of bits to map to a standard deviation (when SCALING = STDEV_*)
-# STDEV.NUM(F32) is the number of standard deviations to the edge (when SCALING = STDEV_NEGATIVE|STDEV_POSITIVE)
-# FLOAT(STR) is the name of a custom floating-point type
-
-	DET_IMAGE	METADATA
-		BITPIX		S32	-32
-	END
-	DET_MASK	METADATA
-		BITPIX		S32	8
-	END
-	DET_WEIGHT	METADATA
-		BITPIX		S32	-32
-	END
-
-	SKY_IMAGE	METADATA
-		BITPIX		S32	-32
-	END
-	SKY_MASK	METADATA
-		BITPIX		S32	8
-	END
-	SKY_WEIGHT	METADATA
-		BITPIX		S32	-32
-	END
-
-	COMPRESSED_POSITIVE	METADATA
-		BITPIX		S32	16
-		SCALING		STR	STDEV_POSITIVE
-		STDEV.BITS	S32	4
-		STDEV.NUM	F32	10
-		COMPRESSION	STR	RICE
-		TILE.X		S32	0
-		TILE.Y		S32	1
-		TILE.Z		S32	1
-		NOISE		S32	8
-	END
-	COMPRESSED_MASK		METADATA
-		COMPRESSION	STR	PLIO
-		TILE.X		S32	0
-		TILE.Y		S32	1
-		TILE.Z		S32	1
-		NOISE		S32	8
-	END
-	COMPRESSED_SUBTRACTION	METADATA
-		BITPIX		S32	16
-		SCALING		STR	STDEV_BOTH
-		STDEV.BITS	S32	4
-		STDEV.NUM	F32	5
-		COMPRESSION	STR	RICE
-		TILE.X		S32	0
-		TILE.Y		S32	1
-		TILE.Z		S32	1
-		NOISE		S32	8
-	END
-
-END
-
-FILERULES STR simple/filerules.mdc
+FILERULES       STR     recipes/filerules-simple.mdc
 
 EXTNAME.RULES METADATA
Index: trunk/ippconfig/simple/filerules.mdc
===================================================================
--- trunk/ippconfig/simple/filerules.mdc	(revision 17398)
+++ 	(revision )
@@ -1,100 +1,0 @@
-PSASTRO.INPUT      STR PSASTRO.INPUT.CMP
-PSASTRO.OUTPUT     STR PSASTRO.OUTPUT.CMP
-PSPHOT.OUTPUT      STR PSPHOT.OUTPUT.CMF
-
-### input file definitions
-TYPE               INPUT    FILENAME.RULE                 DATA.LEVEL FILE.TYPE
-PPIMAGE.INPUT      INPUT    none.fits                     FPA        IMAGE
-INPUT.MASK         INPUT    none.fits                     FPA        MASK
-INPUT.WEIGHT       INPUT    none.fits                     FPA        WEIGHT
-PPIMAGE.BIAS       INPUT    @DETDB                        CHIP       IMAGE
-PPIMAGE.DARK       INPUT    @DETDB                        CHIP       DARK
-PPIMAGE.FLAT       INPUT    @DETDB                        CHIP       IMAGE
-PPIMAGE.MASK       INPUT    @DETDB                        CHIP       IMAGE
-PSPHOT.INPUT       INPUT    @FILES                        CHIP       IMAGE
-PSWARP.INPUT       INPUT    none.fits                     FPA        IMAGE
-PSWARP.SKYCELL     INPUT    none.fits                     FPA        IMAGE
-PSASTRO.INPUT.CMP  INPUT    none.fits                     CHIP       CMP
-PSASTRO.INPUT.CMF  INPUT    none.fits                     CHIP       CMF
-PSPHOT.LOAD        INPUT    none.fits                     CHIP       IMAGE
-PSPHOT.PSF.LOAD    INPUT    none.fits                     CHIP  PSF
-PSPHOT.INPUT.CMF   INPUT    none.fits                     CHIP  CMF
-
-PPSUB.INPUT        INPUT    none.fits                     FPA   IMAGE
-PPSUB.INPUT.MASK   INPUT    none.fits                     FPA   MASK
-PPSUB.INPUT.WEIGHT INPUT    none.fits                     FPA   WEIGHT
-PPSUB.REF          INPUT    none.fits                     FPA   IMAGE
-PPSUB.REF.MASK     INPUT    none.fits                     FPA   MASK
-PPSUB.REF.WEIGHT   INPUT    none.fits                     FPA   WEIGHT
-PPSUB.SOURCES      INPUT    none.fits                     FPA        CMF
-
-PPSTACK.INPUT      INPUT    none.fits                     FPA   IMAGE
-PPSTACK.INPUT.MASK INPUT    none.fits                     FPA   MASK
-PPSTACK.INPUT.WEIGHT INPUT  none.fits                     FPA   WEIGHT
-PPSTACK.SOURCES    INPUT    none.fits                     FPA        CMF
-
-PPARITH.INPUT.IMAGE INPUT   none.fits                     CHIP       IMAGE
-PPARITH.INPUT.MASK  INPUT   none.fits                     CHIP       MASK
-
-### output file definitions
-TYPE                OUTPUT   FILENAME.RULE         FILE.TYPE FITS.TYPE DATA.LEVEL FILE.SAVE FILE.FORMAT
-PPIMAGE.OUTPUT      OUTPUT   {OUTPUT}.fits         IMAGE     NONE      FPA        TRUE      NONE
-PPIMAGE.OUTPUT.MASK OUTPUT   {OUTPUT}.mask.fits    MASK      NONE      FPA        TRUE      NONE
-PPIMAGE.OUTPUT.WEIGHT OUTPUT {OUTPUT}.wt.fits      WEIGHT    NONE      FPA        TRUE      NONE
-PPIMAGE.OUTPUT.CHIP OUTPUT   {OUTPUT}.ch.fits      IMAGE     NONE      FPA        TRUE      SIMPLE
-PPIMAGE.OUTPUT.FPA1 OUTPUT   {OUTPUT}.b1.fits      IMAGE     NONE      FPA        TRUE      SIMPLE
-PPIMAGE.OUTPUT.FPA2 OUTPUT   {OUTPUT}.b2.fits      IMAGE     NONE      FPA        TRUE      SIMPLE
-PPIMAGE.CHIP        OUTPUT   {OUTPUT}.ch.fits      IMAGE     NONE      FPA        FALSE     NONE
-PPIMAGE.CHIP.MASK   OUTPUT   {OUTPUT}.ch.mk.fits   MASK      NONE      FPA        FALSE     NONE
-PPIMAGE.CHIP.WEIGHT OUTPUT   {OUTPUT}.ch.wt.fits   WEIGHT    NONE      FPA        FALSE     NONE
-
-PPIMAGE.JPEG1       OUTPUT   {OUTPUT}.b1.jpg       JPEG      NONE      FPA        TRUE      SIMPLE
-PPIMAGE.JPEG2       OUTPUT   {OUTPUT}.b2.jpg       JPEG      NONE      FPA        TRUE      SIMPLE
-PPIMAGE.BIN1        OUTPUT   {OUTPUT}.b1.fits      IMAGE     NONE      FPA        TRUE      SIMPLE
-PPIMAGE.BIN2        OUTPUT   {OUTPUT}.b2.fits      IMAGE     NONE      FPA        TRUE      SIMPLE
-
-PSWARP.OUTPUT       OUTPUT   {OUTPUT}.fits         IMAGE     NONE      FPA        TRUE      NONE
-PSWARP.OUTPUT.MASK  OUTPUT   {OUTPUT}.mk.fits      MASK      NONE      FPA        TRUE      NONE
-PSWARP.OUTPUT.WEIGHT OUTPUT  {OUTPUT}.wt.fits      WEIGHT    NONE      FPA        TRUE      NONE
-PSWARP.BIN1         OUTPUT   {OUTPUT}.b1.fits      IMAGE     NONE      FPA        TRUE      NONE
-PSWARP.BIN2         OUTPUT   {OUTPUT}.b2.fits      IMAGE     NONE      FPA        TRUE      NONE
-
-PSPHOT.RESID        OUTPUT   {OUTPUT}.res.fits     IMAGE     NONE      FPA        TRUE      SIMPLE
-PSPHOT.BACKGND      OUTPUT   {OUTPUT}.bck.fits     IMAGE     NONE      FPA        TRUE      SIMPLE
-PSPHOT.BACKSUB      OUTPUT   {OUTPUT}.sub.fits     IMAGE     NONE      FPA        TRUE      SIMPLE
-PSPHOT.BACKMDL      OUTPUT   {OUTPUT}.mdl.fits     IMAGE     NONE      FPA        TRUE      SIMPLE
-
-PSPHOT.OUTPUT.RAW   OUTPUT   {OUTPUT}              RAW       NONE      FPA        TRUE      NONE
-PSPHOT.OUTPUT.SX    OUTPUT   {OUTPUT}.sx           SX        NONE      FPA        TRUE      NONE
-PSPHOT.OUTPUT.OBJ   OUTPUT   {OUTPUT}.obj          OBJ       NONE      FPA        TRUE      NONE
-PSPHOT.OUTPUT.CMP   OUTPUT   {OUTPUT}.cmp          CMP       NONE      FPA        TRUE      NONE
-PSPHOT.OUTPUT.CMF   OUTPUT   {OUTPUT}.cmf          CMF       NONE      FPA        TRUE      NONE
-PSPHOT.PSF.SAVE     OUTPUT   {OUTPUT}.psf          PSF       NONE      FPA        TRUE      NONE
-
-PSPHOT.MOMENT.PLT   OUTPUT   {OUTPUT}.mnt.png      KAPA      NONE      FPA        TRUE      SIMPLE
-PSPHOT.PSFMODEL.PLT OUTPUT   {OUTPUT}.psf.png      KAPA      NONE      FPA        TRUE      SIMPLE
-
-SOURCE.PLOT.MOMENTS   OUTPUT {OUTPUT}.mnt.png      KAPA      NONE      FPA        TRUE      NONE
-SOURCE.PLOT.PSFMODEL  OUTPUT {OUTPUT}.psf.png      KAPA      NONE      FPA        TRUE      NONE
-SOURCE.PLOT.APRESID   OUTPUT {OUTPUT}.dap.png      KAPA      NONE      FPA        TRUE      NONE
-
-PSASTRO.OUTPUT.CMP  OUTPUT   {OUTPUT}.smp          CMP       NONE      FPA        TRUE      NONE
-
-SKYCELL.STATS         OUTPUT {OUTPUT}.stats        STATS     NONE      FPA        TRUE      NONE
-SKYCELL.TEMPLATE      OUTPUT {OUTPUT}.skycell      SKYCELL   NONE      FPA        TRUE      NONE
-
-PPSUB.OUTPUT        OUTPUT   {OUTPUT}.fits         IMAGE     NONE      FPA        TRUE      NONE
-PPSUB.OUTPUT.MASK   OUTPUT   {OUTPUT}.mask.fits    MASK      NONE      FPA        FALSE     NONE
-PPSUB.OUTPUT.WEIGHT OUTPUT   {OUTPUT}.wt.fits      WEIGHT    NONE      FPA        FALSE     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.WEIGHT OUTPUT {OUTPUT}.weight.fits  WEIGHT    NONE      FPA        TRUE      NONE
-
-PPSIM.OUTPUT        OUTPUT   {OUTPUT}.fits         IMAGE     NONE      FPA        TRUE      SIMTEST
-
-LOG.IMFILE            OUTPUT {OUTPUT}.log          TEXT      NONE      CHIP       TRUE      NONE
-LOG.EXP               OUTPUT {OUTPUT}.log          TEXT      NONE      FPA        TRUE      NONE
-
-PPARITH.OUTPUT.IMAGE  OUTPUT {OUTPUT}.fits         IMAGE     NONE      CHIP       TRUE      NONE
-PPARITH.OUTPUT.MASK   OUTPUT {OUTPUT}.fits         MASK      NONE      CHIP       TRUE      NONE
