Index: trunk/ippconfig/Makefile.am
===================================================================
--- trunk/ippconfig/Makefile.am	(revision 36087)
+++ trunk/ippconfig/Makefile.am	(revision 36094)
@@ -20,5 +20,6 @@
 	lulin \
 	ssp \
-	uh8k
+	uh8k \
+	suprime 
 
 install_files = \
Index: trunk/ippconfig/configure.ac
===================================================================
--- trunk/ippconfig/configure.ac	(revision 36087)
+++ trunk/ippconfig/configure.ac	(revision 36094)
@@ -32,4 +32,5 @@
   ssp/Makefile
   uh8k/Makefile
+  suprime/Makefile
 ])
 AC_OUTPUT
Index: trunk/ippconfig/suprime/Makefile.am
===================================================================
--- trunk/ippconfig/suprime/Makefile.am	(revision 36094)
+++ trunk/ippconfig/suprime/Makefile.am	(revision 36094)
@@ -0,0 +1,26 @@
+
+installdir = $(datadir)/ippconfig/suprime
+
+install_files = \
+	dvo.config \
+	dvo.layout \
+	camera.config \
+	format_raw.config \
+	format_mef.config \
+	format_split.config \
+	ppImage.config \
+	ppMerge.config \
+	psastro.config \
+	psphot.config \
+	pswarp.config \
+	ppStack.config \
+	rejections.config
+
+install_DATA = $(install_files)
+
+install-data-hook:
+	chmod 0755 $(installdir)
+
+EXTRA_DIST = $(install_files)
+
+ACLOCAL_AMFLAGS = -I m4
Index: trunk/ippconfig/suprime/camera.config
===================================================================
--- trunk/ippconfig/suprime/camera.config	(revision 36094)
+++ trunk/ippconfig/suprime/camera.config	(revision 36094)
@@ -0,0 +1,133 @@
+# Camera configuration file for MegaCam: describes the camera
+
+# File formats that we know about
+FORMATS         METADATA
+	MEF	STR	suprime/format_mef.config
+        RAW     STR     suprime/format_raw.config
+        SPLIT   STR     suprime/format_split.config
+END
+
+# Description of camera --- all the chips and the cells that comprise them
+FPA     METADATA
+	XY01	 STR	Cell
+	XY11	 STR	Cell
+	XY21	 STR	Cell
+	XY00	 STR	Cell
+	XY10	 STR	Cell
+	XY20	 STR	Cell
+	XY41	 STR	Cell
+	XY31	 STR	Cell
+	XY40	 STR	Cell
+	XY30	 STR	Cell
+	XY01_raw STR	ch1 ch2 ch3 ch4
+	XY11_raw STR	ch1 ch2 ch3 ch4
+	XY21_raw STR	ch1 ch2 ch3 ch4
+	XY00_raw STR	ch1 ch2 ch3 ch4
+	XY10_raw STR	ch1 ch2 ch3 ch4
+	XY20_raw STR	ch1 ch2 ch3 ch4
+	XY41_raw STR	ch1 ch2 ch3 ch4
+	XY31_raw STR	ch1 ch2 ch3 ch4
+	XY40_raw STR	ch1 ch2 ch3 ch4
+	XY30_raw STR	ch1 ch2 ch3 ch4
+END
+
+# move this elsewhere?  we need a lookup table to go from filter ID to abstract name
+FILTER.ID       METADATA
+  Rc        STR   W-C-RC
+  Vr	    STR	  W-J-VR
+
+  B	    STR	  W-J-B
+  V	    STR	  W-J-V
+  R	    STR	  W-C-RC
+  I	    STR	  W-C-IC
+  g	    STR	  W-S-G+
+  r	    STR	  W-S-R+
+  i	    STR	  W-S-I+
+  z	    STR	  W-S-Z+
+  
+  Y	    STR	  W-J-Y
+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}
+        fpa     STR     fpa
+        chip    STR     {CHIP.NAME}
+        cell    STR     {CHIP.NAME}:{CELL.NAME}
+END
+
+DVO.CAMERADIR	STR	suprime		# Camera directory for DVO
+
+# convert supplied FPA.OBSTYPE values to abstract exptype names
+OBSTYPE.TABLE METADATA
+  bias     STR BIAS
+  zero     STR BIAS
+  dark     STR DARK
+  flat     STR SKYFLAT
+  skyflat  STR SKYFLAT
+  domeflat STR DOMEFLAT
+  object   STR OBJECT
+  science  STR OBJECT
+END
+
+# Recipe options
+RECIPES         METADATA
+        # Other recipes
+        PSPHOT          STR     suprime/psphot.config           # psphot details
+        PSASTRO         STR     suprime/psastro.config          # psastro details
+	PSWARP		STR	suprime/pswarp.config		# pswarp details
+        PPIMAGE         STR     suprime/ppImage.config          # ppImage recipe
+	REJECTIONS      STR     suprime/rejections.config       # rejection recipe
+	PPMERGE		STR	suprime/ppMerge.config		# ppMerge recipe
+	PPSTACK		STR	suprime/ppStack.config          # ppStack recipe
+END
+
+# reduction classes (recipes which are grouped together)
+REDUCTION	STR	recipes/reductionClasses.mdc
+
+FITSTYPES       STR     recipes/fitstypes.mdc
+
+FILERULES	STR	recipes/filerules-split.mdc		# File rules appropriate for MEF format
+
+EXTNAME.RULES METADATA
+  CMF.HEAD   STR {CHIP.NAME}.hdr
+  CMF.DATA   STR {CHIP.NAME}.psf # use .PSF and .EXT?
+  CMF.XSRC STR {CHIP.NAME}.xsrc # use .PSF and .EXT?
+  CMF.XFIT STR {CHIP.NAME}.xfit # use .PSF and .EXT?
+  CMF.XRAD STR {CHIP.NAME}.xrad # use .PSF and .EXT?
+  CMF.DETEFF STR {CHIP.NAME}.deteff
+
+  PSF.HEAD   STR {CHIP.NAME}.hdr
+  PSF.TABLE  STR {CHIP.NAME}.psf_model
+  PSF.RESID  STR {CHIP.NAME}.psf_resid
+
+  REF.ASTROM STR {CHIP.NAME}.ref_astrom
+END
+
+BLANK.HEADERS	METADATA
+	FPA.TIME	STR	MJD
+	FPA.EXPOSURE	STR	EXPTIME
+	FPA.AIRMASS	STR	AIRMASS
+	FPA.OBS		STR	EXP-ID
+END
+
+PHOTCODE.RULE           STR     {DETECTOR}.{FILTER.ID}.{CHIP.N}		# Rule for generating photcode
+
+BURNTOOL.STATE.GOOD        S16  0  # Value for burntool_state with the most recent bt version.
+BURNTOOL.STATE.GOOD.UPDATE S16  0  # for upddate processing accept earlier version
+
+FOV_REF                     F32     0   # Field of view of unvignetted region in FPA pixels.
+FOV_MAX			    F32	    0
+NPIX_REF 		    S32	    0
+NPIX_MAX		    S32	    0
+NPIX_INTERCHIP              S32     0
+
+# This sets the maximum size for the fwhm_major.  This is roughly 3", and 98.67% of all exposures in the database are less than this.
+MAX_ALLOWED_FWHM          F32         25
+
+# don't censor any masked pixels
+MASK.NO.CENSOR          U32 4294967295
+
+METADATA.COMPRESSION         STR      7f # compression mode (nM): n = 1-9, M = f (filtered), h (Huffman), R (run-length)
Index: trunk/ippconfig/suprime/dvo.config
===================================================================
--- trunk/ippconfig/suprime/dvo.config	(revision 36094)
+++ trunk/ippconfig/suprime/dvo.config	(revision 36094)
@@ -0,0 +1,70 @@
+
+# location of DVO database tables
+CATDIR			/data/alala.0/eugene/isp/catdir
+
+# word used to identify photcodes belonging to this camera
+MOSAICNAME		SUPRIMECAM
+
+# 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		MJD
+
+# other keyword abstractions
+EXPTIME-KEYWORD		EXPTIME
+AIRMASS-KEYWORD		AIRMASS
+CCDNUM-KEYWORD		DET-ID
+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
+
+PM_DT_MIN               0.25
+PM_TOOFEW               4
+POS_TOOFEW              1
+
Index: trunk/ippconfig/suprime/dvo.layout
===================================================================
--- trunk/ippconfig/suprime/dvo.layout	(revision 36094)
+++ trunk/ippconfig/suprime/dvo.layout	(revision 36094)
@@ -0,0 +1,27 @@
+# this file defines the layout of the mosaic imager:
+
+# NCCD 40  # this needs work: sometimes 36, sometimes 40
+NCCD 10
+NAXIS1 2048
+NAXIS2 4225
+
+MOSAIC_X 5
+MOSAIC_Y 2
+
+# lines need to contain:
+
+CHIPID_KEYWORD EXTNAME
+
+# ID     CHIPID xoffset yoffset xflip yflip datasec         biassec            Xo      Yo      theta
+nausicaa  XY01	      23      3     1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+kiki	  XY11        2121    2	    1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+fio	  XY21	      4221    0	    1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+sophie	  XY00	      0	      4207  1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+sheeta	  XY10	      2095    4229  1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+satsuki	  XY20	      4208    4254  1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+chihiro	  XY41	      8429    65    1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+clarisse  XY31	      6337    26    1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+ponyo	  XY40	      8405    4253  1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+san	  XY30	      6315    4252  1	  0 [520:2264,49:4225] [521:568,1:48]  0       0       0
+# can we use header to find biassec
+USE_BIASSEC 1
Index: trunk/ippconfig/suprime/format_mef.config
===================================================================
--- trunk/ippconfig/suprime/format_mef.config	(revision 36094)
+++ trunk/ippconfig/suprime/format_mef.config	(revision 36094)
@@ -0,0 +1,190 @@
+# The spliced MecaCam data is stored in single extensions for each chip
+
+# How to recognise this type
+RULE	METADATA
+	TELESCOP	STR	Subaru
+#	DETECTOR	STR	MegaCam
+	INSTRUME	STR	SuprimeCam
+#	NAXIS           S32     2
+	EXTEND		BOOL	T
+	PSMOSIAC	STR	CHIP
+#       HISTORY         STR     imsplice: Splicing results in all detectors as if read from A amplifier
+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.OBS		STR	EXP-ID	# A PHU keyword for unique identifier
+#	CONTENT		STR	DETECTOR	# Key to the CONTENTS menu
+#	CHIP.NAME	STR	DETECTOR
+#	CONTENT.RULE	STR	{CHIP.NAME} # How to derive the CONTENT when writing
+END
+
+# What's in the FITS file?
+CONTENTS	METADATA
+	# Extension name, chipName:chipType
+        nausicaa  STR   XY01:spcam20080721
+        kiki      STR   XY11:spcam20080721
+        fio       STR   XY21:spcam20080721
+        sophie    STR   XY00:spcam20080721
+        sheeta    STR   XY10:spcam20080721
+        satsuki   STR   XY20:spcam20080721
+        chihiro   STR   XY41:spcam20080721
+        clarisse  STR   XY31:spcam20080721
+        ponyo     STR   XY40:spcam20080721
+        san       STR   XY30:spcam20080721
+
+	XY01	STR	XY01:spcam20080721
+	XY11	STR	XY11:spcam20080721
+	XY21	STR	XY21:spcam20080721
+	XY00	STR	XY00:spcam20080721
+	XY10	STR	XY10:spcam20080721
+	XY20	STR	XY20:spcam20080721
+	XY41	STR	XY41:spcam20080721
+	XY31	STR	XY31:spcam20080721
+	XY40	STR	XY40:spcam20080721
+	XY30	STR	XY30:spcam20080721
+
+END
+
+# Specify the chips
+CHIPS		METADATA
+	# Chip type, cellName:cellType
+        spcam20080721  STR    cell:cell
+END
+
+
+# Specify the cells
+CELLS		METADATA
+	# Cell type, concepts to use
+        cell   METADATA
+               CELL.BIASSEC.SOURCE      STR     VALUE
+               CELL.TRIMSEC.SOURCE      STR     VALUE
+               CELL.BIASSEC             STR     [521:568,1:48]
+               CELL.TRIMSEC             STR     [520:2264,49:4225]
+               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.OBS		STR	EXP-ID
+        FPA.AIRMASS     STR     AIRMASS
+        FPA.FILTERID    STR     FILTER01
+        FPA.FILTER      STR     FILTER01
+	FPA.OBSTYPE	STR	DATA-TYP
+	FPA.OBJECT	STR	OBJECT
+	FPA.TIME	STR	MJD
+        FPA.RA          STR     RA
+        FPA.DEC         STR     DEC
+        FPA.RADECSYS    STR     RADECSYS
+        FPA.POSANGLE    STR     INST-PA
+	FPA.FOCUS	STR	TELFOCUS # added at start of 03Am04
+	FPA.ALT		STR	ALTITUDE
+	FPA.AZ		STR	AZIMUTH
+	FPA.TEMP	STR	DET-TMP
+	FPA.EXPOSURE	STR	EXPTIME
+	FPA.ZP		STR	ZPT_OBS
+	CHIP.TEMP	STR	DET-TMP
+        CELL.EXPOSURE   STR     EXPTIME
+        CELL.DARKTIME   STR     DARKTIME
+        CELL.READNOISE  STR     RDNOISE
+	CELL.TIME	STR	MJD
+        CELL.XBIN       STR     BIN-FCT1
+        CELL.YBIN       STR     BIN-FCT2
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS        METADATA
+	FPA.TELESCOPE		STR	Subaru
+	FPA.INSTRUMENT		STR	SuprimeCam
+	FPA.DETECTOR	        STR	kiki
+#	FPA.TIMESYS		STR	
+	CHIP.XSIZE		S32	2048
+	CHIP.YSIZE		S32	4224
+	CELL.XSIZE		S32	2048
+	CELL.YSIZE		S32	4224
+	CELL.XWINDOW		S32	0
+	CELL.YWINDOW		S32	0
+	CELL.READDIR		S32	1		# Cell is read in x direction
+        CELL.SATURATION		F32	50000.0
+        CELL.BAD                F32     0
+	CELL.XPARITY		S32	1
+	CELL.YPARITY		S32	1
+	CELL.Y0			S32	0
+#	CELL.TIMESYS		STR	UTC
+               CELL.TRIMSEC             STR     [1:2264,49:4225]
+	CHIP.X0.DEPEND		STR	CHIP.NAME
+	CHIP.X0		METADATA
+                XY01    S32     23
+                XY11    S32     2121
+                XY21    S32     4221
+                XY00    S32     0
+                XY10    S32     2095
+                XY20    S32     4208
+                XY41    S32     8429
+                XY31    S32     6337
+                XY40    S32     8405
+                XY30    S32     6315
+	END
+
+	CHIP.Y0.DEPEND		STR	CHIP.NAME
+	CHIP.Y0		METADATA
+                XY01    S32     3
+                XY11    S32     2
+                XY21    S32     0
+                XY00    S32     4207
+                XY10    S32     4229
+                XY20    S32     4254
+                XY41    S32     65
+                XY31    S32     26
+                XY40    S32     4253
+                XY30    S32     4252
+	END
+
+	CHIP.XPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.XPARITY	METADATA
+                XY01    S32     -1
+                XY11    S32     -1
+                XY21    S32     -1
+                XY00    S32     -1
+                XY10    S32     -1
+                XY20    S32     -1
+                XY41    S32     -1
+                XY31    S32     -1
+                XY40    S32     -1
+                XY30    S32     -1
+	END
+
+	CHIP.YPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.YPARITY	METADATA
+                XY01    S32     1
+                XY11    S32     1
+                XY21    S32     1
+                XY00    S32     1
+                XY10    S32     1
+                XY20    S32     1
+                XY41    S32     1
+                XY31    S32     1
+                XY40    S32     1
+                XY30    S32     1
+	END
+END
+
+
+# How to translation PS concepts into database lookups
+DATABASE	METADATA
+#	CELL.GAIN	STR	SELECT gain FROM camera WHERE chip_id = '{CHIP.NAME}' AND cell_id = '{CELL.NAME}'
+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/suprime/format_raw.config
===================================================================
--- trunk/ippconfig/suprime/format_raw.config	(revision 36094)
+++ trunk/ippconfig/suprime/format_raw.config	(revision 36094)
@@ -0,0 +1,223 @@
+# The split MecaCam data is stored as single files for each chip, each a simple fits image
+
+# How to recognise this type
+RULE	METADATA
+	TELESCOP	STR	Subaru
+	INSTRUME	STR	SuprimeCam
+	NAXIS           S32     2
+        NAXIS1          S32     2272
+        NAXIS2          S32     4273
+END
+
+FILE	METADATA
+	# How to read this data
+	PHU		STR	CHIP	# The FITS file represents a chip
+	EXTENSIONS	STR	NONE	# There are no extensions
+	FPA.OBS		STR	EXP-ID	# A PHU keyword for unique identifier
+	CONTENT		STR	DETECTOR	# Key to the CONTENTS menu
+	CONTENT.RULE	STR	{CHIP.NAME} # How to derive the CONTENT when writing
+END
+
+# What's in the FITS file?
+CONTENTS	METADATA
+	# Content name, chipType
+	nausicaa  STR	XY01_raw:spcam20080721
+	kiki	  STR	XY11_raw:spcam20080721
+	fio	  STR	XY21_raw:spcam20080721
+	sophie	  STR	XY00_raw:spcam20080721
+	sheeta	  STR	XY10_raw:spcam20080721
+	satsuki	  STR	XY20_raw:spcam20080721
+	chihiro	  STR	XY41_raw:spcam20080721
+	clarisse  STR	XY31_raw:spcam20080721
+	ponyo	  STR	XY40_raw:spcam20080721
+	san	  STR	XY30_raw:spcam20080721
+END
+
+# Specify the chips
+CHIPS		METADATA
+	# Chip type, cellName:cellType
+	spcam20080721 METADATA
+	  ch1 STR ch1:ch1
+	  ch2 STR ch2:ch2
+	  ch3 STR ch4:ch3
+	  ch4 STR ch4:ch4
+	END
+END
+
+
+# Specify the cells
+CELLS		METADATA
+	# Cell type, concepts for this type
+	ch1   METADATA
+	       CELL.BIASSEC.SOURCE	STR	VALUE
+	       CELL.TRIMSEC.SOURCE	STR	VALUE
+	       CELL.BIASSEC		STR	[521:568,1:48]
+	       CELL.TRIMSEC		STR	[9:520:49,4225]
+	       CELL.X0 			S32	0
+	       CELL.GAIN.SOURCE 	STR 	HEADER
+	       CELL.GAIN	 	STR	GAIN
+	END
+	# Cell type, concepts for this type
+	ch2   METADATA
+	       CELL.BIASSEC.SOURCE	STR	VALUE
+	       CELL.TRIMSEC.SOURCE	STR	VALUE
+	       CELL.BIASSEC		STR	[569:616,1:48]
+	       CELL.TRIMSEC		STR	[617:1128,49:4225]
+	       CELL.X0 			S32	0
+	       CELL.GAIN.SOURCE 	STR 	HEADER
+	       CELL.GAIN	 	STR	GAIN
+	END
+	# Cell type, concepts for this type
+	ch3   METADATA
+	       CELL.BIASSEC.SOURCE	STR	VALUE
+	       CELL.TRIMSEC.SOURCE	STR	VALUE
+	       CELL.BIASSEC		STR	[1657:1704,1:48]
+	       CELL.TRIMSEC		STR	[1145:1656,49:4225]
+	       CELL.X0 			S32	0
+	       CELL.GAIN.SOURCE 	STR 	HEADER
+	       CELL.GAIN	 	STR	GAIN
+	END
+	# Cell type, concepts for this type
+	ch4   METADATA
+	       CELL.BIASSEC.SOURCE	STR	VALUE
+	       CELL.TRIMSEC.SOURCE	STR	VALUE
+	       CELL.BIASSEC		STR	[1705:1752,1:48]
+	       CELL.TRIMSEC		STR	[1753:2264,49:4225]
+	       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.OBS         STR     EXP-ID
+	FPA.DETECTOR    STR	DETECTOR
+        FPA.AIRMASS     STR     AIRMASS
+        FPA.FILTER      STR     FILTER01
+        FPA.FILTERID    STR     FILTER01
+        FPA.POSANGLE    STR     INST-PA
+        FPA.RA          STR     RA
+        FPA.DEC         STR     DEC
+        FPA.RADECSYS    STR     RADECSYS
+	FPA.OBSTYPE	STR	DATA-TYP
+	FPA.OBJECT	STR	OBJECT
+	FPA.FOCUS	STR	FOC-VAL
+	FPA.TIME	STR	MJD
+	FPA.TIMESYS	STR	TIMESYS
+	FPA.ALT		STR	ALTITUDE
+	FPA.AZ		STR	AZIMUTH
+	FPA.TEMP	STR	DET-TMP
+	FPA.EXPOSURE	STR	EXPTIME
+	CHIP.TEMP	STR	DET-TMP
+        CELL.EXPOSURE   STR     EXPTIME
+        CELL.DARKTIME   STR     DARKTIME
+#       CELL.READNOISE  STR     RDNOISE
+	CELL.TIME	STR	MJD
+	CELL.TIMESYS	STR	TIMESYS
+        CELL.XBIN       STR     BIN-FCT1
+        CELL.YBIN       STR     BIN-FCT2
+
+        # FPA.TELTEMP.M1     STR  TELTEMM1 # Primary mirror temps (C) 
+        # FPA.TELTEMP.M1CELL STR  TELTEMMS # Primary mirror support temps (C)   
+        # FPA.TELTEMP.M2     STR  TELTEMM2 # Secondary mirror temps (C
+        # FPA.TELTEMP.SPIDER STR  TELTEMSP # Spider temperatures (C)  
+        FPA.TELTEMP.TRUSS  STR  DOM-TMP # Mid truss temperatures (C
+        FPA.TELTEMP.EXTRA  STR  OUT-TMP # Miscellaneous temperatures (C)     
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS        METADATA
+	FPA.TELESCOPE		STR	Subaru
+	FPA.INSTRUMENT		STR	SuprimeCam
+	CHIP.XSIZE		S32	2048
+	CHIP.YSIZE		S32	4224
+	CELL.XSIZE		S32	2048
+	CELL.YSIZE		S32	4224
+	CELL.XWINDOW		S32	0
+	CELL.YWINDOW		S32	0
+        CELL.SATURATION         S32     60000
+	CELL.READDIR		S32	1		# Cell is read in x direction
+        CELL.SATURATION		F32	50000.0
+        CELL.READNOISE          F32     5.0  # XXX wild guess
+        CELL.BAD                F32     0
+	CELL.XPARITY		S32	1
+	CELL.YPARITY		S32	1
+	CELL.Y0			S32	0
+	CHIP.X0.DEPEND		STR	CHIP.NAME
+
+	CHIP.X0		METADATA
+		XY01	S32	23
+		XY11	S32	2121
+		XY21	S32	4221
+		XY00	S32	0
+		XY10	S32	2095
+		XY20	S32	4208
+		XY41	S32	8429
+		XY31	S32	6337
+		XY40	S32	8405
+		XY30	S32	6315
+	END
+	CHIP.Y0.DEPEND		STR	CHIP.NAME
+	CHIP.Y0		METADATA
+		XY01	S32	3
+		XY11	S32	2
+		XY21	S32	0
+		XY00	S32	4207
+		XY10	S32	4229
+		XY20	S32	4254
+		XY41	S32	65
+		XY31	S32	26
+		XY40	S32	4253
+		XY30	S32	4252		
+	END
+
+	CHIP.XPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.XPARITY	METADATA
+		XY01	S32	-1
+		XY11	S32	-1
+		XY21	S32	-1
+		XY00	S32 	-1
+		XY10	S32	-1
+		XY20	S32	-1
+		XY41	S32	-1
+		XY31	S32	-1
+		XY40	S32	-1
+		XY30	S32	-1
+	END
+	CHIP.YPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.YPARITY	METADATA
+		XY01	S32	1
+		XY11	S32	1
+		XY21	S32	1
+		XY00	S32 	1
+		XY10	S32	1
+		XY20	S32	1
+		XY41	S32	1
+		XY31	S32	1
+		XY40	S32	1
+		XY30	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/suprime/format_split.config
===================================================================
--- trunk/ippconfig/suprime/format_split.config	(revision 36094)
+++ trunk/ippconfig/suprime/format_split.config	(revision 36094)
@@ -0,0 +1,199 @@
+# The split MecaCam data is stored as single files for each chip, each a simple fits image
+
+# How to recognise this type
+RULE	METADATA
+	TELESCOP	STR	Subaru
+	INSTRUME	STR	SuprimeCam
+	OBSERVAT	STR	NAOJ
+#	NAXIS           S32     2
+END
+
+FILE	METADATA
+	# How to read this data
+	PHU		STR	CHIP	# The FITS file represents a chip
+	EXTENSIONS	STR	NONE	# There are no extensions
+	FPA.OBS		STR	EXP-ID	# A PHU keyword for unique identifier
+	CONTENT		STR	DETECTOR	# Key to the CONTENTS menu
+	CONTENT.RULE	STR	{CHIP.NAME} # How to derive the CONTENT when writing
+END
+
+# What's in the FITS file?
+CONTENTS	METADATA
+	# Content name, chipType
+	nausicaa  STR	XY01:spcam20080721
+	kiki	  STR	XY11:spcam20080721
+	fio	  STR	XY21:spcam20080721
+	sophie	  STR	XY00:spcam20080721
+	sheeta	  STR	XY10:spcam20080721
+	satsuki	  STR	XY20:spcam20080721
+	chihiro	  STR	XY41:spcam20080721
+	clarisse  STR	XY31:spcam20080721
+	ponyo	  STR	XY40:spcam20080721
+	san	  STR	XY30:spcam20080721
+
+	XY01	STR	XY01:spcam20080721
+	XY11	STR	XY11:spcam20080721
+	XY21	STR	XY21:spcam20080721
+	XY00	STR	XY00:spcam20080721
+	XY10	STR	XY10:spcam20080721
+	XY20	STR	XY20:spcam20080721
+	XY41	STR	XY41:spcam20080721
+	XY31	STR	XY31:spcam20080721
+	XY40	STR	XY40:spcam20080721
+	XY30	STR	XY30:spcam20080721
+END
+
+# Specify the chips
+CHIPS		METADATA
+	# Chip type, cellName:cellType
+	spcam20080721  STR    Cell:cell
+END
+
+
+# Specify the cells
+CELLS		METADATA
+	# Cell type, concepts for this type
+	cell   METADATA
+	       CELL.BIASSEC.SOURCE	STR	VALUE
+	       CELL.TRIMSEC.SOURCE	STR	VALUE
+	       CELL.BIASSEC		STR	[0:0,0:0]
+#	       CELL.TRIMSEC		STR	[1:2048,1:4225]
+	       CELL.TRIMSEC		STR	[1:2048,1:4177]
+	       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.OBS         STR     EXP-ID
+	FPA.DETECTOR    STR	DETECTOR
+        FPA.AIRMASS     STR     AIRMASS
+        FPA.FILTER      STR     FILTER01
+        FPA.FILTERID    STR     FILTER01
+        FPA.POSANGLE    STR     INST-PA
+        FPA.RA          STR     RA
+        FPA.DEC         STR     DEC
+        FPA.RADECSYS    STR     RADECSYS
+	FPA.OBSTYPE	STR	DATA-TYP
+	FPA.OBJECT	STR	OBJECT
+	FPA.FOCUS	STR	FOC-VAL
+	FPA.TIME	STR	MJD
+	FPA.TIMESYS	STR	TIMESYS
+	FPA.ALT		STR	ALTITUDE
+	FPA.AZ		STR	AZIMUTH
+	FPA.TEMP	STR	DET-TMP
+	FPA.EXPOSURE	STR	EXPTIME
+	CHIP.TEMP	STR	DET-TMP
+        CELL.EXPOSURE   STR     EXPTIME
+        CELL.DARKTIME   STR     DARKTIME
+#       CELL.READNOISE  STR     RDNOISE
+	CELL.TIME	STR	MJD
+	CELL.TIMESYS	STR	TIMESYS
+        CELL.XBIN       STR     BIN-FCT1
+        CELL.YBIN       STR     BIN-FCT2
+
+        # FPA.TELTEMP.M1     STR  TELTEMM1 # Primary mirror temps (C) 
+        # FPA.TELTEMP.M1CELL STR  TELTEMMS # Primary mirror support temps (C)   
+        # FPA.TELTEMP.M2     STR  TELTEMM2 # Secondary mirror temps (C
+        # FPA.TELTEMP.SPIDER STR  TELTEMSP # Spider temperatures (C)  
+        FPA.TELTEMP.TRUSS  STR  DOM-TMP # Mid truss temperatures (C
+        FPA.TELTEMP.EXTRA  STR  OUT-TMP # Miscellaneous temperatures (C)     
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS        METADATA
+	FPA.TELESCOPE		STR	Subaru
+	FPA.INSTRUMENT		STR	SuprimeCam
+	CHIP.XSIZE		S32	2048
+	CHIP.YSIZE		S32	4224
+	CELL.XSIZE		S32	2048
+	CELL.YSIZE		S32	4224
+	CELL.XWINDOW		S32	0
+	CELL.YWINDOW		S32	0
+        CELL.SATURATION         S32     60000
+	CELL.READDIR		S32	1		# Cell is read in x direction
+        CELL.SATURATION		F32	50000.0
+        CELL.READNOISE          F32     5.0  # XXX wild guess
+        CELL.BAD                F32     0
+	CELL.XPARITY		S32	1
+	CELL.YPARITY		S32	1
+	CELL.Y0			S32	0
+	CHIP.X0.DEPEND		STR	CHIP.NAME
+
+	CHIP.X0		METADATA
+		XY01	S32	23
+		XY11	S32	2121
+		XY21	S32	4221
+		XY00	S32	0
+		XY10	S32	2095
+		XY20	S32	4208
+		XY41	S32	8429
+		XY31	S32	6337
+		XY40	S32	8405
+		XY30	S32	6315
+	END
+	CHIP.Y0.DEPEND		STR	CHIP.NAME
+	CHIP.Y0		METADATA
+		XY01	S32	3
+		XY11	S32	2
+		XY21	S32	0
+		XY00	S32	4207
+		XY10	S32	4229
+		XY20	S32	4254
+		XY41	S32	65
+		XY31	S32	26
+		XY40	S32	4253
+		XY30	S32	4252		
+	END
+
+	CHIP.XPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.XPARITY	METADATA
+		XY01	S32	-1
+		XY11	S32	-1
+		XY21	S32	-1
+		XY00	S32 	-1
+		XY10	S32	-1
+		XY20	S32	-1
+		XY41	S32	-1
+		XY31	S32	-1
+		XY40	S32	-1
+		XY30	S32	-1
+	END
+	CHIP.YPARITY.DEPEND	STR	CHIP.NAME
+	CHIP.YPARITY	METADATA
+		XY01	S32	1
+		XY11	S32	1
+		XY21	S32	1
+		XY00	S32 	1
+		XY10	S32	1
+		XY20	S32	1
+		XY41	S32	1
+		XY31	S32	1
+		XY40	S32	1
+		XY30	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/suprime/ppImage.config
===================================================================
--- trunk/ippconfig/suprime/ppImage.config	(revision 36094)
+++ trunk/ippconfig/suprime/ppImage.config	(revision 36094)
@@ -0,0 +1,193 @@
+### 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	TRUE		# Bias subtraction
+DARK		BOOL	FALSE		# Dark subtraction
+FLAT		BOOL	TRUE		# Flat-field normalisation
+
+# binned output image options
+BIN1.XBIN               S32     18
+BIN1.YBIN               S32     18
+BIN2.XBIN               S32     144
+BIN2.YBIN               S32     144
+
+# megacam needs fringe subtraction
+FRINGE		BOOL	TRUE		# Fringe subtraction
+
+USE.DEBURNED.IMAGE	BOOL	FALSE  # Skip burntool
+
+# this table lists extra constraints which should be applied when
+# 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
+  MASK METADATA
+  END	
+END
+
+# only apply the fringe for these filters
+FRINGE.FILTERS  MULTI
+FRINGE.FILTERS	STR i
+FRINGE.FILTERS	STR z
+
+
+# Standard chip processing
+CHIP    METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    TRUE            # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE            # Mask bad pixels
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter
+PPIMAGE_OBDS       METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    TRUE            # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark, shutter, flat-field
+PPIMAGE_OBDSF      METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE           # Overscan subtraction
+  BIAS             BOOL    TRUE            # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe
+PPIMAGE_OBDSFR     METADATA
+  BASE.FITS        BOOL    TRUE            # Save base detrended image?
+  BASE.MASK.FITS   BOOL    TRUE            # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    TRUE            # Save base detrended image?
+  CHIP.FITS        BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    FALSE           # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    FALSE           # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    TRUE            # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  PHOTOM           BOOL    FALSE           # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom
+PPIMAGE_OBDSFRP    METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    TRUE            # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+END
+
+# Overscan, bias, dark, shutter, flat-field, fringe, photom, astrom
+PPIMAGE_OBDSFRA    METADATA
+  BASE.FITS        BOOL    FALSE           # Save base detrended image?
+  BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
+  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    TRUE            # Overscan subtraction
+  BIAS             BOOL    TRUE            # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  FRINGE           BOOL    TRUE            # Fringe subtraction
+  BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
+  BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  PHOTOM           BOOL    TRUE            # Source identification and photometry
+  ASTROM.CHIP      BOOL    FALSE           # Astrometry per chip?
+  ASTROM.MOSAIC    BOOL    FALSE           # Astrometry for mosaic?
+END 
Index: trunk/ippconfig/suprime/ppMerge.config
===================================================================
--- trunk/ippconfig/suprime/ppMerge.config	(revision 36094)
+++ trunk/ippconfig/suprime/ppMerge.config	(revision 36094)
@@ -0,0 +1,40 @@
+
+# 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
+	WEIGHTS		BOOL	FALSE		# 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	FALSE		# Use image weights?
+END
+
Index: trunk/ippconfig/suprime/ppStack.config
===================================================================
--- trunk/ippconfig/suprime/ppStack.config	(revision 36094)
+++ trunk/ippconfig/suprime/ppStack.config	(revision 36094)
@@ -0,0 +1,2 @@
+    CONVOLVE        BOOL   FALSE    
+# we don't need this for megacam
Index: trunk/ippconfig/suprime/psastro.config
===================================================================
--- trunk/ippconfig/suprime/psastro.config	(revision 36094)
+++ trunk/ippconfig/suprime/psastro.config	(revision 36094)
@@ -0,0 +1,195 @@
+
+# save matched stars?
+PSASTRO.SAVE.REFMATCH      BOOL TRUE  # save refstar matches as table in output smf file
+
+# astrometry matching parameters
+
+# nominal plate scale (microns / pixel)
+PSASTRO.PIXEL.SCALE    F32  1.0
+
+# pmAstromGridAngle
+# max grid offset in FP units (microns)
+# use plate-scale to make this in pixels?
+PSASTRO.GRID.OFFSET    F32     750.
+PSASTRO.GRID.SCALE     F32      50.
+
+# extra field for ref stars:
+PSASTRO.FIELD.PADDING  F32 0.25
+
+# pmAstromGridMatch parameters
+PSASTRO.GRID.MIN.ANGLE F32 -0.5 # start angle (degrees)
+PSASTRO.GRID.MAX.ANGLE F32 +0.5
+PSASTRO.GRID.DEL.ANGLE F32  0.25
+
+PSASTRO.GRID.MIN.SCALE F32  0.96
+PSASTRO.GRID.MAX.SCALE F32  1.04
+PSASTRO.GRID.DEL.SCALE F32  0.02
+
+# these tweak are in FP units (pixels, currently)
+PSASTRO.TWEAK.SCALE     F32      1
+PSASTRO.TWEAK.RANGE     F32      150
+PSASTRO.TWEAK.SMOOTH    F32      2
+PSASTRO.TWEAK.NSIGMA    F32      3
+
+# single-chip radius match in pixels
+PSASTRO.MATCH.FIT.NITER S32   5
+PSASTRO.MATCH.RADIUS    F32   100.0
+PSASTRO.MATCH.RADIUS.N0 F32   100.0
+PSASTRO.MATCH.RADIUS.N1 F32   60.0
+PSASTRO.MATCH.RADIUS.N2 F32   40.0
+PSASTRO.MATCH.RADIUS.N3 F32   30.0
+PSASTRO.MATCH.RADIUS.N4 F32   20.0
+PSASTRO.MATCH.UNIQ.ITER S32   4
+PSASTRO.CHIP.ORDER	S32   1
+
+PSASTRO.MAX.NRAW       S32      1500   # max stars accepted for fitting (0 for all)
+PSASTRO.MAX.NREF       S32      1500   # max stars accepted for fitting (0 for all)
+
+PSASTRO.MIN.INST.MAG.RAW       F32      -20.0  # min instrumental magnitude for stars accepted for fitting
+PSASTRO.MAX.INST.MAG.RAW       F32      -11.5  # max instrumental magnitude for stars accepted for fitting
+PSASTRO.GRID.MIN.INST.MAG.RAW  F32      -20.0  # min instrumental magnitude for stars accepted for grid search
+PSASTRO.GRID.MAX.INST.MAG.RAW  F32      -11.5  # max instrumental magnitude for stars accepted for grid search
+PSASTRO.GRID.MIN.SIGMA 	       F32  1.0
+
+PSASTRO.MAX.ERROR      F32      10.0 # max error in pixels
+PSASTRO.MIN.NSTAR      S32      5   # min fitted stars in solution
+
+PSASTRO.MAX.ALLOWED.FWHM      F32       25
+
+PSASTRO.MOSAIC.MODE           BOOL     TRUE
+
+# for iterations >= N, require a single match per reference
+PSASTRO.MOSAIC.CHIP.NITER     S32      5  # fit clipping iterations
+PSASTRO.MOSAIC.CHIP.NSIGMA    F32      3  # fit clipping sigmas
+PSASTRO.MOSAIC.UNIQ.ITER      S32      3
+
+PSASTRO.MOSAIC.MAX.ERROR.N0 F32    1.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N1 F32    1.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N2 F32    1.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N3 F32    1.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N4 F32    2.00 # max allow error for valid solution (arcsec)
+PSASTRO.MOSAIC.MAX.ERROR.N5 F32    5.00 # max allow error for valid solution (arcsec)
+
+PSASTRO.MOSAIC.RADIUS.N0    F32    40.0
+PSASTRO.MOSAIC.RADIUS.N1    F32    35.0 # do not refine the match
+PSASTRO.MOSAIC.RADIUS.N2    F32    30.0 # do not refine the match
+PSASTRO.MOSAIC.RADIUS.N3    F32    25.0 
+PSASTRO.MOSAIC.RADIUS.N4    F32    20.0 
+PSASTRO.MOSAIC.RADIUS.N5    F32    10.0 
+
+PSASTRO.MOSAIC.CHIP.ORDER     S32      1
+PSASTRO.MOSAIC.CHIP.ORDER.N0  S32      1 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N1  S32      2 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N2  S32      2 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N3  S32      2 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N4  S32      2 # fit order (-1 means use default)
+PSASTRO.MOSAIC.CHIP.ORDER.N5  S32      2 # fit order (-1 means use default)
+
+PSASTRO.MOSAIC.GRADIENT.NX    S32      5   # number of x-dir cells per chip
+PSASTRO.MOSAIC.GRADIENT.NY    S32      5   # number of y-dir cells per chip
+
+# use this recipe to set a tight constraint
+PSASTRO.FINE METADATA
+  PSASTRO.MOSAIC.MAX.ERROR.N0 F32    1.50 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N1 F32    1.50 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N2 F32    0.90 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N3 F32    0.90 # max allow error for valid solution (arcsec)
+
+  PSASTRO.MOSAIC.RADIUS.N0    F32    8.0
+  PSASTRO.MOSAIC.RADIUS.N1    F32    0.0
+  PSASTRO.MOSAIC.RADIUS.N2    F32    4.0
+  PSASTRO.MOSAIC.RADIUS.N3    F32    4.0
+
+  PSASTRO.MOSAIC.CHIP.ORDER.N0  S32      0 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N1  S32      1 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N2  S32      1 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N3  S32      1 # fit order (-1 means use default)
+END
+
+# use this recipe to set a tight constraint
+PSASTRO_COARSE METADATA
+  PSASTRO.GRID.SCALE          F32     50.0
+  PSASTRO.TWEAK.RANGE         F32      1.0
+
+  DVO.GETSTAR.MIN.MAG         F32     10.0
+  DVO.GETSTAR.MAX.RHO         F32  12000.0
+
+  PSASTRO.MAX.INST.MAG.RAW       F32 -9.0  # max instrumental magnitude for stars accepted for fitting
+  PSASTRO.GRID.MAX.INST.MAG.RAW  F32 -9.0  # max instrumental magnitude for stars accepted for grid search
+
+  PSASTRO.GRID.MIN.SIGMA      F32    4.0
+
+  PSASTRO.MATCH.FIT.NITER S32   4
+  PSASTRO.MATCH.RADIUS.N0 F32   60.0
+  PSASTRO.MATCH.RADIUS.N1 F32   30.0
+  PSASTRO.MATCH.RADIUS.N2 F32   15.0
+  PSASTRO.MATCH.RADIUS.N3 F32    8.0
+
+  PSASTRO.MOSAIC.MAX.ERROR.N0 F32    0.0 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N1 F32    0.0 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N2 F32    0.0 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N3 F32    0.0 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N3 F32    2.0 # max allow error for valid solution (arcsec)
+
+  PSASTRO.MOSAIC.RADIUS.N0    F32   60.0
+  PSASTRO.MOSAIC.RADIUS.N1    F32   30.0
+  PSASTRO.MOSAIC.RADIUS.N2    F32   15.0
+  PSASTRO.MOSAIC.RADIUS.N3    F32    8.0
+  PSASTRO.MOSAIC.RADIUS.N4    F32    4.0
+
+  PSASTRO.MOSAIC.CHIP.ORDER.N0  S32      0 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N1  S32      1 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N2  S32      1 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N3  S32      1 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N4  S32      1 # fit order (-1 means use default)
+END
+
+PSASTRO.CATDIR              STR      PS1.REF.20120524
+DVO.GETSTAR.MAX.RHO         F32      30000.0
+DVO.GETSTAR.MIN.MAG         F32      -10.0
+DVO.GETSTAR.MIN.MAG.INST    F32     -40.0
+
+# we match the FILTER.ID (corresponding to the FILTER, see camera.config) to the dvo db PHOTCODE
+PHOTCODE.DATA MULTI
+PHOTCODE.DATA METADATA
+  FILTER   STR u
+  ZEROPT   F32 23.6
+  PHOTCODE STR g
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR g
+  ZEROPT   F32 26.46
+  PHOTCODE STR g
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR r
+  ZEROPT   F32 25.98
+  PHOTCODE STR r
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR i
+  ZEROPT   F32 25.74
+  PHOTCODE STR i
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR z
+  ZEROPT   F32 24.80
+  PHOTCODE STR z
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR Vr
+  ZEROPT   F32 25.0
+  PHOTCODE STR g
+END
+PHOTCODE.DATA METADATA
+  FILTER   STR Rc
+  ZEROPT   F32 25.0
+  PHOTCODE STR r
+END
+
+# plotting options
+PSASTRO.PLOT.INST.MAG.MAX F32 -9.0
+PSASTRO.PLOT.INST.MAG.MIN F32 -17.0
+PSASTRO.PLOT.REF.MAG.MIN  F32 +10.0
+PSASTRO.PLOT.REF.MAG.MAX  F32 +25.0
+
Index: trunk/ippconfig/suprime/psphot.config
===================================================================
--- trunk/ippconfig/suprime/psphot.config	(revision 36094)
+++ trunk/ippconfig/suprime/psphot.config	(revision 36094)
@@ -0,0 +1,30 @@
+
+# turn these on to see specific outputs
+SAVE.PLOTS     	BOOL    FALSE
+
+# PSF model parameters : choose the PSF model desired
+# PSF_MODEL           STR  PS_MODEL_QGAUSS
+PSF_MODEL           STR  PS_MODEL_PS1_V1
+# PSF_MODEL           STR  PS_MODEL_RGAUSS
+
+PSF.TREND.MODE STR MAP
+PSF.TREND.NX   S32 1
+PSF.TREND.NY   S32 1
+PSF_SN_LIM F32 5              # minimum S/N for stars used for PSF model
+
+PEAKS_SMOOTH_SIGMA F32 2.5             # smoothing kernel sigma in pixels
+PEAKS_NSIGMA_LIMIT F32 5.0            # peak significance threshold
+MOMENTS_SCALE F32 0.1 # PSFs are generally small, avoid the CRs
+
+PSF_FIT_RADIUS_SCALE F32 10.0 # fitting radius for test PSF model
+
+PSPHOT.CRMASK.APPLY BOOL  TRUE		  # TEST THIS before enabling.
+
+MOMENTS_SX_MIN                      F32   1.0
+MOMENTS_SY_MIN                      F32   1.0
+                                                                                                                                                              
+BACKGROUND.XBIN                     S32   400             # size of background superpixels
+BACKGROUND.YBIN                     S32   400             # size of background superpixels
+BACKGROUND.XSAMPLE                  F32   2.0             # size of background superpixels
+BACKGROUND.YSAMPLE                  F32   2.0             # size of background superpixels
+IMSTATS_NPIX                        S32   40000           # number of pixels to use for sky estimate boxes:
Index: trunk/ippconfig/suprime/pswarp.config
===================================================================
--- trunk/ippconfig/suprime/pswarp.config	(revision 36094)
+++ trunk/ippconfig/suprime/pswarp.config	(revision 36094)
@@ -0,0 +1,3 @@
+### Megacam recipe for pswarp
+
+ASTROM.SOURCE	STR	PSASTRO.OUTPUT	# Source file rule for astrometry, or NULL
Index: trunk/ippconfig/suprime/rejections.config
===================================================================
--- trunk/ippconfig/suprime/rejections.config	(revision 36094)
+++ trunk/ippconfig/suprime/rejections.config	(revision 36094)
@@ -0,0 +1,38 @@
+
+BIAS METADATA
+  FILTER      	     STR  *
+  EXPECTED    	     F32  0.0
+  IMFILE.MEAN 	     F32  2.0
+  IMFILE.STDEV       F32 10.0
+  IMFILE.MEANSTDEV   F32  0.5
+  IMFILE.SKEWNESS    F32  0.0
+  IMFILE.KURTOSIS    F32  0.0
+  IMFILE.SNR         F32  0.0
+  IMFILE.BIN.STDEV   F32  0.5
+  IMFILE.BIN.SNR     F32  0.0
+  IMFILE.FLUX        F32  0.0
+  EXP.MEAN           F32  1.0
+  EXP.STDEV          F32 10.0
+  EXP.MEANSTDEV      F32  0.5
+  EXP.SNR            F32  0.0
+  EXP.BIN.STDEV      F32  0.0
+  EXP.BIN.SNR        F32  0.0
+  EXP.FLUX           F32  0.0
+  ENSEMBLE.MEAN      F32  3.0
+  ENSEMBLE.STDEV     F32  3.0
+  ENSEMBLE.MEANSTDEV F32  0.0
+END
+
+# 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.SNR is the minimum permitted signal-to-noise for an imfile
+# EXP.SNR 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.
Index: trunk/ippconfig/system.config
===================================================================
--- trunk/ippconfig/system.config	(revision 36087)
+++ trunk/ippconfig/system.config	(revision 36094)
@@ -19,4 +19,5 @@
 	VYSOS20			STR	vysos20/camera.config		# VYSOS 5in
 	SSP			STR	ssp/camera.config		# Pan-STARRS spectroscopic sky probe
+	SUPRIMECAM		STR	suprime/camera.config           # Subaru Suprimecam
 	SIMMOSAIC		STR	simmosaic/camera.config		# Simulated mosaic, for testing
 	SIMTEST			STR	simtest/camera.config		# Simulation test camera
