Index: /trunk/ippconfig/lris_red/camera.config
===================================================================
--- /trunk/ippconfig/lris_red/camera.config	(revision 7095)
+++ /trunk/ippconfig/lris_red/camera.config	(revision 7096)
@@ -4,4 +4,5 @@
 FORMATS         METADATA
         RAW     STR     lris_red/format_raw.config
+	SPEC	STR	lris_red/format_spec.config
 END
  
@@ -13,2 +14,6 @@
 
 
+# Recipes to use when processing this camera
+RECIPES		METADATA
+	PPMERGE		STR	ppMerge.config		# Recipe to use for ppMerge
+END
Index: /trunk/ippconfig/lris_red/format_raw.config
===================================================================
--- /trunk/ippconfig/lris_red/format_raw.config	(revision 7095)
+++ /trunk/ippconfig/lris_red/format_raw.config	(revision 7096)
@@ -39,7 +39,5 @@
 
 # What's in the FITS file?
-CONTENTS	METADATA
-	# chip identifier, chip name: component cells
-	LRIS		STR	RedChip:left RedChip:right
+CONTENTS	STR	RedChip:LeftSide:left RedChip:RightSide:right
 END
 
@@ -47,5 +45,4 @@
 CELLS	METADATA
 	left	METADATA
-		CELL.NAME	STR	LeftSide
 		CELL.BIASSEC	STR	VALUE:[1:20,1:2048];[2089:2168,1:2048]
 		CELL.TRIMSEC	STR	VALUE:[41:1064,1:2048]
@@ -55,5 +52,4 @@
 
 	right	METADATA
-		CELL.NAME	STR	RightSide
 		CELL.BIASSEC	STR	VALUE:[21:40,1:2048];[2169:2248,1:2048]
 		CELL.TRIMSEC	STR	VALUE:[1065:2088,1:2048]
Index: /trunk/ippconfig/lris_red/format_spec.config
===================================================================
--- /trunk/ippconfig/lris_red/format_spec.config	(revision 7096)
+++ /trunk/ippconfig/lris_red/format_spec.config	(revision 7096)
@@ -0,0 +1,76 @@
+# The Low Resolution Imager and Spectrograph (LRIS) red side
+
+# We have no choice but to hard-code the various regions, because Keck
+# only stores them as:
+# WINDOW  = '0,0,550,2048,1000'
+# PREPIX  =                   20
+# POSTPIX =                   80
+# BINNING = '1,1     '
+# AMPPSIZE= '[1:1024,1:4096]'
+
+# I don't know how we would get the IPP to react to changes in the
+# windowing on the fly --- we have no mechanism for setting the region
+# sizes on the basis of the above keywords.  Therefore, we hard-code
+# the regions and assert on our assumptions in the RULE.
+
+
+# How to identify this type
+RULE	METADATA
+	TELESCOP	STR	Keck I
+	INSTRUME	STR	LRIS
+	AMPLIST		STR	2,1,0,0
+	WINDOW		STR	0,0,550,2048,1000	# Narrow spectroscopy format
+	PREPIX		S32	20
+	POSTPIX		S32	80
+	BINNING		STR	1, 1
+	CCDPSIZE	STR	[1:2048,1:2048]
+	NAXIS1		S32	2248
+	NAXIS2		S32	1000
+	IMTYPE		STR	TWOAMPTOP
+END
+
+# How to read this data
+FILE	METADATA
+	PHU		STR	FPA	# The FITS file represents a single chip
+	EXTENSIONS	STR	NONE	# There are no extensions
+	FPA.NAME	STR	OBSNUM	# A PHU keyword for unique identifier within the hierarchy level
+	CHIP.NAME	STR	INSTRUME	# An extension keyword for unique identifier
+END
+
+# What's in the FITS file?
+CONTENTS	STR	RedChip:LeftSide:left RedChip:RightSide:right
+
+# Specify the cell data
+CELLS	METADATA
+	left	METADATA
+		CELL.BIASSEC	STR	VALUE:[1:20,1:1000];[2089:2168,1:1000]
+		CELL.TRIMSEC	STR	VALUE:[41:1064,1:1000]
+		CELL.GAIN	STR	VALUE:1.2
+		CELL.READNOISE	STR	VALUE:5.6
+	END
+
+	right	METADATA
+		CELL.BIASSEC	STR	VALUE:[21:40,1:1000];[2169:2248,1:1000]
+		CELL.TRIMSEC	STR	VALUE:[1065:2088,1:1000]
+		CELL.GAIN	STR	VALUE:1.3
+		CELL.READNOISE	STR	VALUE:6.5
+	END
+END
+
+# How to translate PS concepts into FITS headers
+TRANSLATION	METADATA
+	FPA.AIRMASS	STR	AIRMASS
+	FPA.FILTER	STR	FILTER
+	FPA.POSANGLE	STR	POSANG
+	FPA.RA		STR	OBJ-RA
+	FPA.DEC		STR	OBJ-DEC
+	CELL.EXPOSURE	STR	EXPTIME
+	CELL.DARKTIME	STR	DARKTIME
+	CELL.DATE	STR	DATE-OBS
+	CELL.TIME	STR	TIME-OBS
+END
+
+# Default PS concepts that may be specified by value
+DEFAULTS	METADATA
+	FPA.RADECSYS	STR	ICRS
+END
