Index: /trunk/ippconfig/cfh12k/Makefile.am
===================================================================
--- /trunk/ippconfig/cfh12k/Makefile.am	(revision 12374)
+++ /trunk/ippconfig/cfh12k/Makefile.am	(revision 12374)
@@ -0,0 +1,21 @@
+
+installdir = $(datadir)/ippconfig/megacam
+
+install_files = \
+	camera.config \
+	format_mef.config \
+	format_split.config \
+	ppImage.config \
+	ppMerge.config \
+	ppStats.config \
+	psastro.config \
+	psphot.config
+
+install_DATA = $(install_files)
+
+install-data-hook:
+	chmod 0755 $(installdir)
+
+EXTRA_DIST = $(install_files)
+
+ACLOCAL_AMFLAGS = -I m4
Index: /trunk/ippconfig/cfh12k/camera.config
===================================================================
--- /trunk/ippconfig/cfh12k/camera.config	(revision 12374)
+++ /trunk/ippconfig/cfh12k/camera.config	(revision 12374)
@@ -0,0 +1,194 @@
+# Camera configuration file for Cfh12k: describes the camera
+
+# File formats that we know about
+FORMATS		METADATA
+	MEF	STR	cfh12k/format_mef.config
+	SPLIT	STR	cfh12k/format_split.config
+END
+
+# Description of camera --- all the chips and the cells that comprise them
+FPA	METADATA
+	ccd00	STR	Amp
+	ccd01	STR	Amp
+	ccd02	STR	Amp
+	ccd03	STR	Amp
+	ccd04	STR	Amp
+	ccd05	STR	Amp
+	ccd06	STR	Amp
+	ccd07	STR	Amp
+	ccd08	STR	Amp
+	ccd09	STR	Amp
+	ccd10	STR	Amp
+	ccd11	STR	Amp
+END
+
+# move this elsewhere?  we need a lookup table to go from filter ID to abstract name
+FILTER.ID       METADATA
+   B           	STR B  
+   V           	STR V  
+   R           	STR R  
+   I           	STR I  
+
+   Z           	STR Z
+   Zp           STR Z
+   Zprime       STR Z
+
+   Ha           STR Ha
+   Ha.MP7605    STR Ha
+   Halpha       STR Ha
+   Haalpha.on   STR Ha
+
+   HaOFF        STR HaOff
+   HaOFF.MP7604 STR HaOff
+   Halpha.off   STR HaOff
+
+   Hb           STR Hb  
+   HbOff        STR HbOff
+
+   CN           STR CN
+   CN.MP780     STR CN
+   cn.MP7803    STR CN
+   CN.MP7803    STR CN
+
+   TiO          STR TiO
+   TiO.MP77     STR TiO
+   tio.MP7701   STR TiO
+   TiO.MP7701   STR TiO
+
+   NB920        STR NB920
+
+   B2F          STR B2F 
+   UKN:B2F      STR B2F
+END
+
+# Table of strings to use for the class identifier (see ippdb) according to the file level.
+CLASSID		METADATA
+	fpa	STR	fpa
+	chip	STR	{CHIP.NAME}
+	cell	STR	{CHIP.NAME}:{CELL.NAME}
+END
+
+# 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
+END
+
+# Recipe options
+RECIPES		METADATA
+	# Other recipes
+        PSPHOT          STR     cfh12k/psphot.config           # psphot details
+        PSASTRO         STR     cfh12k/psastro.config          # psastro details
+	PPSTATS		STR	cfh12k/ppStats.config		# ppStats recipe
+	PPIMAGE         STR     cfh12k/ppImage.config		# ppImage recipe
+END
+
+
+# Rejection levels for detrend creation
+REJECTION	METADATA
+	TYPE	LIMITS	FILTER	EXPECTED	IMFILE.MEAN	IMFILE.STDEV	EXP.MEAN	EXP.STDEV	EXP.MEANSTDEV	ENSEMBLE.MEAN	ENSEMBLE.STDEV	ENSEMBLE.MEANSTDEV	IMFILE.SN	EXP.SN
+	FLAT	MULTI
+
+	BIAS	LIMITS	*	0		1		5		0.5		3		0.5		3		3		0			0		0
+	DARK	LIMITS	*	0		1		5		0.5		3		0.5		3		3		0			0		0
+	FLAT	LIMITS	*	0		0		0		0		0		0		0		0		3			0		0
+#	FLAT	LIMITS	u	0		0		0		0		0		0		0		0		3			0		0
+#	FLAT	LIMITS	g	0		0		0		0		0		0		0		0		3			0		0
+#	FLAT	LIMITS	r	0		0		0		0		0		0		0		0		3			0		0
+#	FLAT	LIMITS	i	0		0		0		0		0		0		0		0		3			0		0
+#	FLAT	LIMITS	z	0		0		0		0		0		0		0		0		3			0		0
+	FRINGE	LIMITS	*	0		0		0		0		0		0		0		0		0			0		0
+
+# FILTER is an additional qualifier, and may be "*" (or absent!), in which case it matches everything
+# EXPECTED is the expected mean value
+# IMFILE.MEAN is the maximum permitted mean value for an imfile, relative to the standard deviation
+# IMFILE.STDEV is the maximum permitted standard deviation for an imfile
+# EXP.MEAN is the maximum permitted mean value for an exposure, relative to the standard deviation
+# EXP.STDEV is the maximum permitted standard deviation for an exposure
+# EXP.MEANSTDEV is the maximum permitted mean standard deviation for an exposure relative to the mean
+# ENSEMBLE.MEAN is the maximum permitted mean for an ensemble of exposures
+# ENSEMBLE.STDEV is the maximum permitted standard deviation for an ensemble of exposures
+# ENSEMBLE.MEANSTDEV is the maximum permitted mean standard deviation for an ensemble of exposures
+# IMFILE.SN is the minimum permitted signal-to-noise for an imfile
+# EXP.SN is the minimum permitted signal-to-noise for an exposure
+# These values (all except FILTER) may be zero, in which case no clipping is applied.
+
+END
+		
+
+FILERULES METADATA
+   ### Redirections
+   PSASTRO.INPUT      STR PSASTRO.INPUT.CMP
+   PSASTRO.OUTPUT     STR PSASTRO.OUTPUT.CMP
+   PSPHOT.OUTPUT      STR PSPHOT.OUTPUT.CMF
+   PPIMAGE.OUTPUT     STR PPIMAGE.OUTPUT.MEF
+   PPIMAGE.BIN1       STR PPIMAGE.BIN1.MEF
+   PPIMAGE.BIN2       STR PPIMAGE.BIN2.MEF
+   DVOCORR.OUTPUT     STR DVOCORR.MEF.OUTPUT
+   DVOFLAT.OUTPUT     STR DVOFLAT.MEF.OUTPUT
+
+   ### input file definitions
+   TYPE               INPUT FILENAME.RULE                 FILENAME.XTRA EXTNAME.RULE EXTNAME.XTRA DATA.LEVEL FILE.TYPE 
+   PPIMAGE.INPUT      INPUT @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       IMAGE
+
+   ## can we just use PPIMAGE.INPUT as the pmFPAfile name?
+   DVOCORR.INPUT      INPUT @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       IMAGE     
+   DVOCORR.REFHEAD    INPUT @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       HEADER     
+
+   DVOFLAT.INPUT      INPUT @FILES                        {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       IMAGE 	
+   DVOFLAT.CORR       INPUT @DETDB                        NONE          NONE         NONE         CHIP       IMAGE 	
+
+   ### use these entries to get the detrend images from the database
+   PPIMAGE.MASK       INPUT @DETDB                       NONE          NONE         NONE         CHIP       IMAGE
+   PPIMAGE.BIAS       INPUT @DETDB                       NONE          NONE         NONE         CHIP       IMAGE
+   PPIMAGE.DARK       INPUT @DETDB                       NONE          NONE         NONE         CHIP       IMAGE
+   PPIMAGE.FLAT       INPUT @DETDB                       NONE          NONE         NONE         CHIP       IMAGE
+   PPIMAGE.FRINGE     INPUT @DETDB                       NONE          NONE         NONE         CHIP       FRINGE     
+
+   PSPHOT.INPUT       INPUT @FILES                       {CHIP.NAME}   {CELL.NAME}  NONE         CHIP       IMAGE     
+   PSASTRO.INPUT.CMP  INPUT @FILES                        NONE          NONE        PHU          CHIP       CMP       
+   PSASTRO.INPUT.CMF  INPUT @FILES                        NONE          SMPDATA     PHU          CHIP       CMF       
+
+
+   ### output file definitions
+   TYPE                OUTPUT FILENAME.RULE                 FILENAME.XTRA EXTNAME.RULE EXTNAME.XTRA FILE.LEVEL DATA.LEVEL FILE.TYPE FILE.SAVE FILE.FORMAT
+   PPIMAGE.OUTPUT.SPL  OUTPUT {OUTPUT}.{CHIP.NAME}.fits      {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     TRUE      SPLIT
+   PPIMAGE.OUTPUT.MEF  OUTPUT {OUTPUT}.fits                  {CHIP.NAME}   {CHIP.NAME}  NONE         FPA        CHIP       IMAGE     TRUE      MEF
+   PPIMAGE.OUTPUT.MASK OUTPUT {OUTPUT}.{CHIP.NAME}.mask.fits {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       MASK      FALSE     NONE
+   PPIMAGE.OUTPUT.WEIGHT OUTPUT {OUTPUT}.{CHIP.NAME}.wt.fits {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       WEIGHT    FALSE     NONE
+   PPIMAGE.BIN1.SPL    OUTPUT {OUTPUT}.{CHIP.NAME}.b1.fits   {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     TRUE      SPLIT
+   PPIMAGE.BIN2.SPL    OUTPUT {OUTPUT}.{CHIP.NAME}.b2.fits   {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     TRUE      SPLIT
+   PPIMAGE.BIN1.MEF    OUTPUT {OUTPUT}.b1.fits               NONE          NONE         NONE         FPA        CHIP       IMAGE     TRUE      MEF
+   PPIMAGE.BIN2.MEF    OUTPUT {OUTPUT}.b2.fits               NONE          NONE         NONE         FPA        CHIP       IMAGE     TRUE      MEF
+   DVOCORR.MEF.OUTPUT  OUTPUT {OUTPUT}.fc.fits               NONE          NONE         NONE         FPA        CHIP       IMAGE     TRUE      MEF
+   DVOCORR.SPL.OUTPUT  OUTPUT {OUTPUT}.{CHIP.NAME}.fc.fits   NONE          NONE         NONE         FPA        CHIP       IMAGE     TRUE      SPLIT
+   DVOFLAT.MEF.OUTPUT  OUTPUT {OUTPUT}.co.fits               NONE          NONE         NONE         FPA        CHIP       IMAGE     TRUE      MEF
+   DVOFLAT.SPL.OUTPUT  OUTPUT {OUTPUT}.{CHIP.NAME}.co.fits   NONE          NONE         NONE         FPA        CHIP       IMAGE     TRUE      SPLIT
+
+   PPIMAGE.OUTPUT.CHIP OUTPUT {OUTPUT}.{CHIP.NAME}.chip.fits {CHIP.NAME}   {CHIP.NAME}  NONE         CHIP       CHIP       IMAGE     TRUE      SPLIT
+   PPIMAGE.OUTPUT.FPA1 OUTPUT {OUTPUT}.b1.fits               NONE          NONE         NONE         FPA        FPA        IMAGE     TRUE      MEF
+   PPIMAGE.OUTPUT.FPA2 OUTPUT {OUTPUT}.b2.fits               NONE          NONE         NONE         FPA        FPA        IMAGE     TRUE      MEF
+
+   PPIMAGE.JPEG1       OUTPUT {OUTPUT}.b1.jpg                NONE          NONE         NONE         FPA        FPA        JPEG      TRUE      NONE
+   PPIMAGE.JPEG2       OUTPUT {OUTPUT}.b2.jpg                NONE          NONE         NONE         FPA        FPA        JPEG      TRUE      NONE
+
+   PSPHOT.RESID        OUTPUT {OUTPUT}.res.fits              NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     TRUE      MEF
+   PSPHOT.BACKGND      OUTPUT {OUTPUT}.bck.fits              NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     TRUE      MEF
+   PSPHOT.BACKSUB      OUTPUT {OUTPUT}.sub.fits              NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     TRUE      MEF
+   PSPHOT.BACKMDL      OUTPUT {OUTPUT}.mdl.fits              NONE          {CELL.NAME}  {CELL.NAME}  CHIP       CHIP       IMAGE     TRUE      MEF
+
+   PSPHOT.OUTPUT.RAW   OUTPUT {OUTPUT}.{CHIP.NAME}           NONE          NONE         PHU          CHIP       CHIP       RAW       TRUE      NONE
+   PSPHOT.OUTPUT.SX    OUTPUT {OUTPUT}.sx                    NONE          NONE         PHU          CHIP       CHIP       SX        TRUE      NONE
+   PSPHOT.OUTPUT.OBJ   OUTPUT {OUTPUT}.obj                   NONE          NONE         PHU          CHIP       CHIP       OBJ       TRUE      NONE
+   PSPHOT.OUTPUT.CMF   OUTPUT {OUTPUT}.cmf                   NONE          SMPDATA      PHU          CHIP       CHIP       CMF       TRUE      NONE
+   PSPHOT.OUTPUT.CMP   OUTPUT {OUTPUT}.{CHIP.NAME}.cmp       NONE          NONE         PHU          CHIP       CHIP       CMP       TRUE      NONE
+
+   PSASTRO.OUTPUT.CMP  OUTPUT {OUTPUT}.{CHIP.NAME}.smp       NONE          NONE         PHU          CHIP       CHIP       CMP       TRUE      NONE
+
+END
Index: /trunk/ippconfig/cfh12k/dvo.config
===================================================================
--- /trunk/ippconfig/cfh12k/dvo.config	(revision 12374)
+++ /trunk/ippconfig/cfh12k/dvo.config	(revision 12374)
@@ -0,0 +1,63 @@
+
+# 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-OBS
+DATE-MODE		yyyy-mm-dd
+UT-KEYWORD		UTC-OBS
+JD-KEYWORD		NONE
+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
+
+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
+
Index: /trunk/ippconfig/cfh12k/format_mef.config
===================================================================
--- /trunk/ippconfig/cfh12k/format_mef.config	(revision 12374)
+++ /trunk/ippconfig/cfh12k/format_mef.config	(revision 12374)
@@ -0,0 +1,161 @@
+# "mcshort" is a MegaCam camera with only the central six chips --- it's faster than the entire FPA.
+# The spliced MecaCam data is stored in single extensions for each chip
+
+# How to recognise this type
+RULE	METADATA
+	TELESCOP	STR	CFHT 3.6m
+	DETECTOR	STR	CFH12K
+	INSTRUME	STR	CFH12K Mosaic
+	EXTEND		BOOL	T
+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	EXPNUM	# A PHU keyword for unique identifier
+	CHIP.NAME	STR	EXTNAME	# An extension keyword for unique identifie
+END
+
+# What's in the FITS file?
+CONTENTS	METADATA
+	# Extension name, chip name:component cell
+	chip00		STR	ccd00:Amp:cell
+	chip01		STR	ccd01:Amp:cell
+	chip02		STR	ccd02:Amp:cell
+	chip03		STR	ccd03:Amp:cell
+	chip04		STR	ccd04:Amp:cell
+	chip05		STR	ccd05:Amp:cell
+	chip06		STR	ccd06:Amp:cell
+	chip07		STR	ccd07:Amp:cell
+	chip08		STR	ccd08:Amp:cell
+	chip09		STR	ccd09:Amp:cell
+	chip10		STR	ccd10:Amp:cell
+	chip11		STR	ccd11:Amp:cell
+END
+
+# Specify the cells
+CELLS		METADATA
+	cell		METADATA
+		CELL.BIASSEC.SOURCE	STR	HEADER
+		CELL.TRIMSEC.SOURCE	STR	HEADER
+		CELL.BIASSEC		STR	BIASSEC
+		CELL.TRIMSEC		STR	DATASEC
+		CELL.X0			S32	0
+	END
+END
+
+# How to translate PS concepts into FITS headers
+TRANSLATION	METADATA
+	FPA.TELESCOPE	STR	TELESCOP
+	FPA.INSTRUMENT	STR	INSTRUME
+	FPA.DETECTOR	STR	DETECTOR
+        FPA.AIRMASS     STR     AIRMASS
+	FPA.OBSTYPE	STR	OBSTYPE
+	FPA.OBJECT	STR	OBJECT
+        FPA.FILTERID    STR     FILTER
+        FPA.FILTER      STR     FILTER
+        FPA.POSANGLE    STR     ROTANGLE
+        FPA.RA          STR     RA
+        FPA.DEC         STR     DEC
+        FPA.RADECSYS    STR     RADECSYS
+	FPA.FOCUS	STR	TELFOCUS
+	FPA.TIME	STR	MJD-OBS
+	FPA.TIMESYS	STR	TIMESYS
+	FPA.ALT		STR	TELALT
+	FPA.AZ		STR	TELAZ
+	FPA.TEMP	STR	DETTEM
+	FPA.EXPOSURE	STR	EXPTIME
+	CHIP.TEMP	STR	DETTEM
+        CELL.EXPOSURE   STR     EXPTIME
+        CELL.DARKTIME   STR     DARKTIME
+	CELL.TIME	STR	MJD-OBS
+        CELL.GAIN       STR     GAIN
+#       CELL.READNOISE  STR     RDNOISE
+        CELL.SATURATION STR     SATURATE
+	CELL.TIMESYS	STR	TIMESYS
+        CELL.XBIN       STR     CCDBIN1
+        CELL.YBIN       STR     CCDBIN2
+#	CELL.BAD	STR	BADLEVEL
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS        METADATA
+	CHIP.XSIZE		S32	2048
+	CHIP.YSIZE		S32	4612
+	CELL.XSIZE		S32	1024
+	CELL.YSIZE		S32	4612
+	CELL.READNOISE          F32     10.0
+	CELL.READDIR		S32	1		# Cell is read in x direction
+        CELL.BAD                S32     0
+	CELL.XPARITY		S32	1
+	CELL.YPARITY		S32	1
+	CELL.Y0			S32	0
+	CHIP.X0.DEPEND		STR	CHIP.NAME
+	CHIP.X0		METADATA
+		chip00	S32	0
+		chip01	S32	2048
+		chip02	S32	4096
+		chip03	S32	6144
+		chip04	S32	8192
+		chip05	S32	10240
+		chip06	S32	0    
+		chip07	S32	2048 
+		chip08	S32	4096 
+		chip09	S32	6144 
+		chip10	S32	8192 
+		chip11	S32	10240
+	END
+	CHIP.Y0.DEPEND		STR	CHIP.NAME
+	CHIP.Y0		METADATA
+		chip00	S32	0
+		chip01	S32	0
+		chip02	S32	0
+		chip03	S32	0
+		chip04	S32	0
+		chip05	S32	0
+		chip06	S32	4128
+		chip07	S32	4128
+		chip08	S32	4128
+		chip09	S32	4128
+		chip10	S32	4128
+		chip11	S32	4128
+	END
+	CHIP.XPARITY		S32	1
+	CHIP.YPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.YPARITY	METADATA
+		chip00	S32	+1
+		chip01	S32	+1
+		chip02	S32	+1
+		chip03	S32	+1
+		chip04	S32	+1
+		chip05	S32	+1
+		chip06	S32	-1
+		chip07	S32	-1
+		chip08	S32	-1
+		chip09	S32	-1
+		chip10	S32	-1
+		chip11	S32	-1
+	END
+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
+	FPA.TIME	STR	MJD
+	CELL.TIME	STR	MJD
+END
+ 
Index: /trunk/ippconfig/cfh12k/format_split.config
===================================================================
--- /trunk/ippconfig/cfh12k/format_split.config	(revision 12374)
+++ /trunk/ippconfig/cfh12k/format_split.config	(revision 12374)
@@ -0,0 +1,158 @@
+# "mcshort" is a MegaCam camera with only the central six chips --- it's faster than the entire FPA.
+# The spliced MecaCam data is stored in single extensions for each chip
+
+# How to recognise this type
+RULE	METADATA
+	TELESCOP	STR	CFHT 3.6m
+	DETECTOR	STR	CFH12K
+	INSTRUME	STR	CFH12K Mosaic
+	NAXIS		S32	2
+END
+
+FILE	METADATA
+	# How to read this data
+	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 unique identifier
+	CHIP.NAME	STR	EXTNAME	# An extension keyword for unique identifie
+	CONTENT		STR	{CHIP.NAME}	# Key to the CONTENTS menu
+END
+
+# What's in the FITS file?
+CONTENTS	METADATA
+	# Extension name, chip name:component cell
+	chip00		STR	ccd00:Amp:cell
+	chip01		STR	ccd01:Amp:cell
+	chip02		STR	ccd02:Amp:cell
+	chip03		STR	ccd03:Amp:cell
+	chip04		STR	ccd04:Amp:cell
+	chip05		STR	ccd05:Amp:cell
+	chip06		STR	ccd06:Amp:cell
+	chip07		STR	ccd07:Amp:cell
+	chip08		STR	ccd08:Amp:cell
+	chip09		STR	ccd09:Amp:cell
+	chip10		STR	ccd10:Amp:cell
+	chip11		STR	ccd11:Amp:cell
+END
+
+# Specify the cells
+CELLS		METADATA
+	cell		METADATA
+		CELL.BIASSEC.SOURCE	STR	HEADER
+		CELL.TRIMSEC.SOURCE	STR	HEADER
+		CELL.BIASSEC		STR	BIASSEC
+		CELL.TRIMSEC		STR	DATASEC
+		CELL.X0			S32	0
+		CELL.GAIN.SOURCE	STR	HEADER
+		CELL.GAIN		STR	GAIN
+	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
+	FPA.OBSTYPE	STR	OBSTYPE
+	FPA.OBJECT	STR	OBSTYPE
+	FPA.FOCUS	STR	TELFOCUS
+	FPA.TIME	STR	MJD-OBS
+	FPA.TIMESYS	STR	TIMESYS
+	FPA.ALT		STR	TELALT
+	FPA.AZ		STR	TELAZ
+	FPA.TEMP	STR	DETTEM
+	FPA.EXPOSURE	STR	EXPTIME
+	CHIP.TEMP	STR	DETTEM
+        CELL.EXPOSURE   STR     EXPTIME
+        CELL.DARKTIME   STR     DARKTIME
+#       CELL.READNOISE  STR     RDNOISE
+        CELL.SATURATION STR     SATURATE
+	CELL.TIME	STR	MJD-OBS
+	CELL.TIMESYS	STR	TIMESYS
+        CELL.XBIN       STR     CCDBIN1
+        CELL.YBIN       STR     CCDBIN2
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS        METADATA
+	CHIP.XSIZE		S32	2048
+	CHIP.YSIZE		S32	4612
+	CELL.XSIZE		S32	1024
+	CELL.YSIZE		S32	4612
+	CELL.READDIR		S32	1		# Cell is read in x direction
+        CELL.BAD                S32     0
+	CELL.XPARITY		S32	1
+	CELL.YPARITY		S32	1
+	CELL.Y0			S32	0
+	CHIP.X0.DEPEND		STR	CHIP.NAME
+	CHIP.X0		METADATA
+		chip00	S32	0
+		chip01	S32	2048
+		chip02	S32	4096
+		chip03	S32	6144
+		chip04	S32	8192
+		chip05	S32	10240
+		chip06	S32	0    
+		chip07	S32	2048 
+		chip08	S32	4096 
+		chip09	S32	6144 
+		chip10	S32	8192 
+		chip11	S32	10240
+	END
+	CHIP.Y0.DEPEND		STR	CHIP.NAME
+	CHIP.Y0		METADATA
+		chip00	S32	0
+		chip01	S32	0
+		chip02	S32	0
+		chip03	S32	0
+		chip04	S32	0
+		chip05	S32	0
+		chip06	S32	4128
+		chip07	S32	4128
+		chip08	S32	4128
+		chip09	S32	4128
+		chip10	S32	4128
+		chip11	S32	4128
+	END
+	CHIP.XPARITY		S32	1
+	CHIP.YPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.YPARITY	METADATA
+		chip00	S32	+1
+		chip01	S32	+1
+		chip02	S32	+1
+		chip03	S32	+1
+		chip04	S32	+1
+		chip05	S32	+1
+		chip06	S32	-1
+		chip07	S32	-1
+		chip08	S32	-1
+		chip09	S32	-1
+		chip10	S32	-1
+		chip11	S32	-1
+	END
+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
+	FPA.TIME	STR	MJD
+	CELL.TIME	STR	MJD
+END
+ 
Index: /trunk/ippconfig/cfh12k/ppImage.config
===================================================================
--- /trunk/ippconfig/cfh12k/ppImage.config	(revision 12374)
+++ /trunk/ippconfig/cfh12k/ppImage.config	(revision 12374)
@@ -0,0 +1,53 @@
+### ppImage recipe configuration file for Megacam
+
+# Overscan subtraction
+OVERSCAN.SINGLE		BOOL	FALSE		# Reduce overscan to a single value?
+OVERSCAN.FIT		STR	NONE		# NONE | POLYNOMIAL | SPLINE
+OVERSCAN.ORDER		S32	0		# Order of polynomial fit
+OVERSCAN.STAT		STR	MEAN		# MEAN | MEDIAN
+
+# for a test, turn off selected detrend types
+OVERSCAN	BOOL	FALSE		# Overscan subtraction
+BIAS		BOOL	FALSE		# Bias subtraction
+DARK		BOOL	TRUE		# Dark subtraction
+FLAT		BOOL	TRUE		# Flat-field normalisation
+
+# megacam needs fringe subtraction
+FRINGE		BOOL	TRUE		# Fringe subtraction
+
+# this table lists extra constraints which should be applied when
+# selecting the detrend images.
+# note: camera and time are always applied
+
+DETREND.CONSTRAINTS  METADATA
+  BIAS METADATA
+  END
+  DARK METADATA
+#   EXPTIME STR FPA.EXPOSURE
+  END
+  FLAT METADATA
+    FILTER  STR FPA.FILTERID
+#   DETTYPE STR DOMEFLAT.RAW
+#   VERSION STR SKYFLAT.RAW
+#   VERSION STR DOMEFLAT.CORR.XX
+#   VERSION STR SKYFLAT.CORR
+  END
+  FLAT_CORRECTION METADATA
+    FILTER   STR FPA.FILTER
+  END
+  FRINGE METADATA
+    FILTER   STR FPA.FILTER
+#   AIRMASS  STR FPA.AIRMASS
+#   TWILIGHT STR FPA.TWILIGHT
+  END
+  SHUTTER METADATA
+  END	
+END
+
+# only apply the fringe for these filters
+FRINGE.FILTERS  MULTI
+FRINGE.FILTERS	STR r
+FRINGE.FILTERS	STR i
+FRINGE.FILTERS	STR z
+
+PHOTCODE.RULE		STR	{DETECTOR}.{FILTER.ID}.{CHIP.N}
Index: /trunk/ippconfig/cfh12k/ppMerge.config
===================================================================
--- /trunk/ippconfig/cfh12k/ppMerge.config	(revision 12374)
+++ /trunk/ippconfig/cfh12k/ppMerge.config	(revision 12374)
@@ -0,0 +1,44 @@
+
+# Bias combination --- don't want min/max rejection
+PPMERGE_BIAS	METADATA
+   REJ		F32	3.0		# Rejection threshold (sigma)
+   ITER		S32	2		# Number of rejection iterations
+   FRACHIGH	F32	0.0		# Fraction of high pixels to reject immediately
+   FRACLOW	F32	0.0		# Fraction of low pixels to reject immediately
+   WEIGHTS	BOOL	FALSE		# Use image weights?
+   COMBINE	STR	CLIPPED		# Statistic to use for combination: 
+END
+
+# Dark combination --- don't want min/max rejection
+# More aggressive clipping than bias, so as to remove CRs
+PPMERGE_DARK	METADATA
+  REJ		F32	2.0		# Rejection threshold (sigma)
+  ITER		S32	4		# Number of rejection iterations
+  FRACHIGH	F32	0.0		# Fraction of high pixels to reject immediately
+  FRACLOW	F32	0.0		# Fraction of low pixels to reject immediately
+  WEIGHTS	BOOL	FALSE		# Use image weights?
+  COMBINE	STR	CLIPPED		# Statistic to use for combination: 
+END
+
+# Flat combination --- use min/max rejection
+PPMERGE_FLAT	METADATA
+	REJ		F32	3.0		# Rejection threshold (sigma)
+	ITER		S32	1		# Number of rejection iterations
+	FRACHIGH	F32	0.3		# Fraction of high pixels to reject immediately
+	FRACLOW		F32	0.1		# Fraction of low pixels to reject immediately
+	NKEEP		S32	5		# Minimum number of pixels in stack to keep
+	MASKVAL		S32	0xff		# Mask value for input data
+	WEIGHTS		BOOL	TRUE		# Use image weights?
+	COMBINE		STR	MEAN		# Statistic to use for combination: 
+END
+
+
+# Fringe combination --- already included in default, above
+PPMERGE_FRINGE	METADATA
+	FRACHIGH	F32	0.1		# Fraction of high pixels to reject immediately
+	WEIGHTS		BOOL	TRUE		# Use image weights?
+END
+
+# Mask generation --- already included in default, above
+PPMERGE_MASK	METADATA
+END
Index: /trunk/ippconfig/cfh12k/ppStats.config
===================================================================
--- /trunk/ippconfig/cfh12k/ppStats.config	(revision 12374)
+++ /trunk/ippconfig/cfh12k/ppStats.config	(revision 12374)
@@ -0,0 +1,12 @@
+### ppStats recipe
+SAMPLE		F32	0.1	# Fraction of cell to sample
+MASKVAL		U8	0xff	# Mask value to use for statistics
+
+# Define the outputs as MULTI
+HEADER		MULTI
+CONCEPT		MULTI
+STAT		MULTI
+ 
+# Values to return
+STAT		STR	ROBUST_MEDIAN	# Background estimator
+STAT		STR	ROBUST_STDEV	# Background standard deviation estimator
Index: /trunk/ippconfig/cfh12k/psastro.config
===================================================================
--- /trunk/ippconfig/cfh12k/psastro.config	(revision 12374)
+++ /trunk/ippconfig/cfh12k/psastro.config	(revision 12374)
@@ -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/cfh12k/psphot.config
===================================================================
--- /trunk/ippconfig/cfh12k/psphot.config	(revision 12374)
+++ /trunk/ippconfig/cfh12k/psphot.config	(revision 12374)
@@ -0,0 +1,27 @@
+
+# turn these on to see specific outputs
+#SAVE.BACKMDL	BOOL 	TRUE
+#SAVE.BACKGND	BOOL 	TRUE
+#SAVE.BACKSUB	BOOL 	TRUE
+SAVE.RESID	BOOL 	TRUE
+#SAVE.PSF	BOOL 	TRUE
+#LOAD.PSF	BOOL 	FALSE
+
+IMSTATS_NPIX        S32  1000    	 # number of pixels to use for sky estimate boxes:
+
+PSF_SN_LIM          F32  100             # minimum S/N for stars used for PSF model
+PSF_MAX_NSTARS      S32  300             # limit number of stars used for PSF model
+
+# PSF model parameters : choose the PSF model
+# list as many PSF_MODEL options as desired
+# if you want to list multiple entries, uncomment 'MULTI' here
+# PSF_MODEL           MULTI
+PSF_MODEL           STR  PS_MODEL_QGAUSS
+# PSF_MODEL           STR  PS_MODEL_GAUSS
+# PSF_MODEL           STR  PS_MODEL_PGAUSS
+# PSF_MODEL           STR  PS_MODEL_TGAUSS  ## not well tested, not very successful
+
+MOMENTS_SN_MIN      F32  20.0           # min S/N to measure moments
+EXT_MIN_SN           F32  50.0           # fit galaxies above this S/N limit
+FULL_FIT_SN_LIM      F32  50.0
+AP_MIN_SN            F32  25.0
