Index: /trunk/ippconfig/gpc1/format_20100122.config
===================================================================
--- /trunk/ippconfig/gpc1/format_20100122.config	(revision 42099)
+++ /trunk/ippconfig/gpc1/format_20100122.config	(revision 42100)
@@ -527,195 +527,76 @@
 # Pattern correction information:
 
-# # PATTERN.ROW		BOOL 	TRUE	# Do any row pattern correction at all?
-# PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
-# 	XY01	BOOL	FALSE
-# 	XY02	STR     0000000000000000000000000000000000000000000000000000000000000001 # xy77
-# 	XY03	BOOL	FALSE
-# 	XY04	BOOL	FALSE
-# 	XY05	BOOL	FALSE
-# 	XY06	BOOL	FALSE
-# 	XY10	BOOL	FALSE
-# 	XY11	STR	0011100100000000000000000000000000000000000000000000000000000000
-# 	XY12	BOOL	FALSE
-# 	XY13	BOOL	FALSE
-# 	XY14	STR     0000000000000000000100000000000000000000000000000000000000000000 # xy23
-# 	XY15	STR     1111111100000000000000000000000000000000000000000000000000000000 # cols: 0
-# 	XY16	BOOL	FALSE
-# 	XY17	BOOL	FALSE
-# 	XY20	BOOL	FALSE
-# 	XY21	BOOL	FALSE
-# 	XY22	BOOL	FALSE
-# 	XY23	BOOL	FALSE
-# 	XY24	BOOL	FALSE
-# 	XY25	BOOL	FALSE
-# 	XY26	BOOL	FALSE
-# 	XY27	STR     1111111111111111111111111111111100000000000000000000000011111111 # cols: 0,1,2,3,7
-# 	XY30	BOOL	FALSE
-# 	XY31	STR     0000000000000000000000000000000000000000000000000000000011111111 # cols: 7
-# 	XY32	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
-# 	XY33	BOOL	FALSE
-# 	XY34	BOOL	FALSE
-# 	XY35	BOOL	FALSE
-# 	XY36	BOOL	FALSE
-# 	XY37	BOOL	FALSE
-# 	XY40	BOOL	FALSE
-# 	XY41	BOOL	FALSE
-# 	XY42	BOOL	FALSE
-# 	XY43	BOOL	FALSE
-# 	XY44	BOOL	FALSE
-# 	XY45	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
-# 	XY46	BOOL	FALSE
-# 	XY47	STR     1111111100000000000000001111111100000000111111110000000011111111 # cols: 0,3,5,7
-# 	XY50	BOOL	FALSE
-# 	XY51	BOOL	FALSE
-# 	XY52	BOOL	FALSE
-# 	XY53	BOOL	FALSE
-# 	XY54	BOOL	FALSE
-# 	XY55	BOOL	FALSE
-# 	XY56	BOOL	FALSE
-# 	XY57	STR     1111111111111111111111110000000000000000000000001111111111111111 # cols: 0,1,2,6,7
-# 	XY60	STR	0000000000000000000000000000000000000000000001000000000000000000 # cell xy55
-# 	XY61	BOOL	FALSE
-# 	XY62	BOOL	FALSE
-# 	XY63	BOOL	FALSE
-# 	XY64	BOOL	FALSE
-# 	XY65	BOOL	FALSE
-# 	XY66	STR	0000000000000000000000000000000000000000000000000000000000000100 # cell xy75
-# 	XY67	BOOL	FALSE
-# 	XY71	BOOL	FALSE
-# 	XY72	BOOL	FALSE
-# 	XY73	BOOL	FALSE
-# 	XY74	STR     0000000000000000111111110000000000000000000000000000000011111111 # cols: 2,7
-# 	XY75	BOOL	FALSE
-# 	XY76	BOOL	FALSE
-# END
-
-# # PATTERN.CELL	BOOL 	TRUE		# by default, do not do any cell pattern correction
-# PATTERN.CELL.SUBSET	METADATA	# List of chips and whether to do cell pattern correction
-# 	XY01	BOOL	FALSE
-# 	XY02	BOOL	FALSE
-# 	XY03	BOOL	FALSE
-# 	XY04	BOOL	FALSE
-# 	XY05	BOOL	FALSE
-# 	XY06    STR     1101000000010000000110100100000000000000000000000000000000000000
-# 	XY10	BOOL	FALSE
-# 	XY11	BOOL	FALSE
-# 	XY12	BOOL	FALSE
-# 	XY13	BOOL	FALSE
-# 	XY14	STR     0000000000000000111111110000000000000000000000010000000000101101
-# 	XY15	STR     0011111100011000000001000000010000001001000111110001010000011111
-# 	XY16	STR     0000000100000000000000000000000000000001000000000000000000000000
-# 	XY17	BOOL	FALSE
-# 	XY20	BOOL	FALSE
-# 	XY21	BOOL	FALSE
-# 	XY22	BOOL	FALSE
-# 	XY23	BOOL	FALSE
-# 	XY24	STR     0000000000100000000000000110100000100000001000000011100000000000
-# 	XY25	STR     0100010000001001001011000000001000000111000110000000100000000010
-# 	XY26	STR     0000000000000100000000000000000000001000001000000000000000000000
-# 	XY27	BOOL	FALSE
-# 	XY30	BOOL	FALSE
-# 	XY31	BOOL	FALSE
-# 	XY32	BOOL	FALSE
-# 	XY33	BOOL	FALSE
-# 	XY34	STR     0000000000000000000000000000000000000001000011000000101000111111
-# 	XY35	BOOL	FALSE
-# 	XY36	STR     0000000000000000000000000000000000010000000000000000000000000000
-# 	XY37	STR     0000000000000000000000000000000100010001000000001011000010110110
-# 	XY40	STR     0000000000000000000000000010110000000000000001110000001000011111
-# 	XY41	BOOL	FALSE
-# 	XY42	BOOL	FALSE
-# 	XY43	STR     0000000000000000000000010000000100000000000010000100000100000100
-# 	XY44	BOOL	FALSE
-# 	XY45	BOOL	FALSE
-# 	XY46	BOOL	FALSE
-# 	XY47	BOOL	FALSE
-# 	XY50	BOOL	FALSE
-# 	XY51	BOOL	FALSE
-# 	XY52	BOOL	FALSE
-# 	XY53	BOOL	FALSE
-# 	XY54	BOOL	FALSE
-# 	XY55	BOOL	FALSE
-# 	XY56	BOOL	FALSE
-# 	XY57	BOOL	FALSE
-# 	XY60	BOOL	FALSE
-# 	XY61	BOOL	FALSE
-# 	XY62	STR     0000000000000000000000000000000000001000000000000000000100001010
-# 	XY63	BOOL	FALSE
-# 	XY64	BOOL	FALSE
-# 	XY65	BOOL	FALSE
-# 	XY66	BOOL	FALSE
-# 	XY67	BOOL	FALSE
-# 	XY71	BOOL	FALSE
-# 	XY72	STR     0000000000000000000000000000000000000000000000000000000000000001
-# 	XY73	STR     0001100000000000000000000000001000000000000000000000000000000000
-# 	XY74	BOOL	FALSE
-# 	XY75	BOOL	FALSE
-# 	XY76	BOOL	FALSE
-# END
+# NOTE: PATTERN.ROW.SUBSET is defined in the format_DATE.config files because
+# in different periods, the camera had different amounts of row-by-row bias drift
+# for a given cell.  It is necessary to make the choice of whether to correct the 
+# pattern based on the epoch the exposure was taken.
+
+# NOTE: if PATTERN.ROW.SUBSET entries are missing for a given chip, the default 
+# behavior is to NOT correct for the effect. (This makes sense since most camera
+# are not GPC1 and thus do not need the correction).
+
 # PATTERN.ROW		BOOL 	TRUE	# Do any row pattern correction at all?
 PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
-	XY01	BOOL	FALSE
-#	XY02	STR     0000000000000000000000000000000000000000000000000000000000000001 # xy77
-	XY02	BOOL	FALSE
-	XY03	BOOL	FALSE
-	XY04	BOOL	FALSE
-	XY05	BOOL	FALSE
-	XY06	BOOL	FALSE
-	XY10	BOOL	FALSE
-	XY11	STR	0011100100000000000000000000000000000000000000000000000000000000
-	XY12	BOOL	FALSE
-	XY13	BOOL	FALSE
-	XY14	STR     0000000000000000000100000000000000000000000000000000000000000000 # xy23
-	XY15	STR     1111111100000000000000000000000000000000000000000000000000000000 # cols: 0
-	XY16	BOOL	FALSE
-	XY17	BOOL	FALSE
-	XY20	BOOL	FALSE
-	XY21	BOOL	FALSE
-	XY22	BOOL	FALSE
-	XY23	BOOL	FALSE
-	XY24	BOOL	FALSE
-	XY25	BOOL	FALSE
-	XY26	BOOL	FALSE
-	XY27	STR     1111111111111111111111111111111100000000000000000000000011111111 # cols: 0,1,2,3,7
-	XY30	BOOL	FALSE
-	XY31	STR     0000000000000000000000000000000000000000000000000000000011111111 # cols: 7
-	XY32	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
-	XY33	BOOL	FALSE
-	XY34	BOOL	FALSE
-	XY35	BOOL	FALSE
-	XY36	BOOL	FALSE
-	XY37	BOOL	FALSE
-	XY40	BOOL	FALSE
-	XY41	BOOL	FALSE
-	XY42	BOOL	FALSE
-	XY43	BOOL	FALSE
-	XY44	BOOL	FALSE
-	XY45	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
-	XY46	BOOL	FALSE
-	XY47	STR     1111111100000000000000001111111100000000111111110000000011111111 # cols: 0,3,5,7
-	XY50	BOOL	FALSE
-	XY51	BOOL	FALSE
-	XY52	BOOL	FALSE
-	XY53	BOOL	FALSE
-	XY54	BOOL	FALSE
-	XY55	BOOL	FALSE
-	XY56	BOOL	FALSE
-	XY57	STR     1111111111111111111111110000000000000000000000001111111111111111 # cols: 0,1,2,6,7
-	XY60	STR	0000000000000000000000000000000000000000000001000000000000000000 # cell xy55
-	XY61	BOOL	FALSE
-	XY62	BOOL	FALSE
-	XY63	BOOL	FALSE
-	XY64	BOOL	FALSE
-	XY65	BOOL	FALSE
-#	XY66	STR	0000000000000000000000000000000000000000000000000000000000000100 # cell xy75
-	XY66	BOOL	FALSE
-	XY67	BOOL	FALSE
-	XY71	BOOL	FALSE
-	XY72	BOOL	FALSE
-	XY73	BOOL	FALSE
-	XY74	STR     0000000000000000111111110000000000000000000000000000000011111111 # cols: 2,7
-	XY75	BOOL	FALSE
-	XY76	BOOL	FALSE
+	XY01	BOOL	TRUE
+ 	XY02	BOOL    TRUE
+	XY02	BOOL	TRUE
+	XY03	BOOL	TRUE
+	XY04	BOOL	TRUE
+	XY05	BOOL	TRUE
+	XY06	BOOL	TRUE
+	XY10	BOOL	TRUE
+	XY11	BOOL	TRUE
+	XY12	BOOL	TRUE
+	XY13	BOOL	TRUE
+	XY14	BOOL    TRUE 
+	XY15	BOOL    TRUE 
+	XY16	BOOL	TRUE
+	XY17	BOOL	TRUE
+	XY20	BOOL	TRUE
+	XY21	BOOL	TRUE
+	XY22	BOOL	TRUE
+	XY23	BOOL	TRUE
+	XY24	BOOL	TRUE
+	XY25	BOOL	TRUE
+	XY26	BOOL	TRUE
+	XY27	BOOL    TRUE 
+	XY30	BOOL	TRUE
+	XY31	BOOL    TRUE 
+	XY32	BOOL    TRUE 
+	XY33	BOOL	TRUE
+	XY34	BOOL	TRUE
+	XY35	BOOL	TRUE
+	XY36	BOOL	TRUE
+	XY37	BOOL	TRUE
+	XY40	BOOL	TRUE
+	XY41	BOOL	TRUE
+	XY42	BOOL	TRUE
+	XY43	BOOL	TRUE
+	XY44	BOOL	TRUE
+	XY45	BOOL    TRUE 
+	XY46	BOOL	TRUE
+	XY47	BOOL    TRUE
+	XY50	BOOL	TRUE
+	XY51	BOOL	TRUE
+	XY52	BOOL	TRUE
+	XY53	BOOL	TRUE
+	XY54	BOOL	TRUE
+	XY55	BOOL	TRUE
+	XY56	BOOL	TRUE
+	XY57	BOOL    TRUE 
+	XY60	BOOL	TRUE
+	XY61	BOOL	TRUE
+	XY62	BOOL	TRUE
+	XY63	BOOL	TRUE
+	XY64	BOOL	TRUE
+	XY65	BOOL	TRUE
+	XY66	BOOL	TRUE
+	XY67	BOOL	TRUE
+	XY71	BOOL	TRUE
+	XY72	BOOL	TRUE
+	XY73	BOOL	TRUE
+	XY74	BOOL	TRUE
+	XY75	BOOL	TRUE
+	XY76	BOOL	TRUE
 END
 
Index: /trunk/ippconfig/gpc1/format_20100228.config
===================================================================
--- /trunk/ippconfig/gpc1/format_20100228.config	(revision 42099)
+++ /trunk/ippconfig/gpc1/format_20100228.config	(revision 42100)
@@ -526,195 +526,76 @@
 # Pattern correction information:
 
-# # PATTERN.ROW		BOOL 	TRUE	# Do any row pattern correction at all?
-# PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
-# 	XY01	BOOL	FALSE
-# 	XY02	STR     0000000000000000000000000000000000000000000000000000000000000001 # xy77
-# 	XY03	BOOL	FALSE
-# 	XY04	BOOL	FALSE
-# 	XY05	BOOL	FALSE
-# 	XY06	BOOL	FALSE
-# 	XY10	BOOL	FALSE
-# 	XY11	STR	0011100100000000000000000000000000000000000000000000000000000000
-# 	XY12	BOOL	FALSE
-# 	XY13	BOOL	FALSE
-# 	XY14	STR     0000000000000000000100000000000000000000000000000000000000000000 # xy23
-# 	XY15	STR     1111111100000000000000000000000000000000000000000000000000000000 # cols: 0
-# 	XY16	BOOL	FALSE
-# 	XY17	BOOL	FALSE
-# 	XY20	BOOL	FALSE
-# 	XY21	BOOL	FALSE
-# 	XY22	BOOL	FALSE
-# 	XY23	BOOL	FALSE
-# 	XY24	BOOL	FALSE
-# 	XY25	BOOL	FALSE
-# 	XY26	BOOL	FALSE
-# 	XY27	STR     1111111111111111111111111111111100000000000000000000000011111111 # cols: 0,1,2,3,7
-# 	XY30	BOOL	FALSE
-# 	XY31	STR     0000000000000000000000000000000000000000000000000000000011111111 # cols: 7
-# 	XY32	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
-# 	XY33	BOOL	FALSE
-# 	XY34	BOOL	FALSE
-# 	XY35	BOOL	FALSE
-# 	XY36	BOOL	FALSE
-# 	XY37	BOOL	FALSE
-# 	XY40	BOOL	FALSE
-# 	XY41	BOOL	FALSE
-# 	XY42	BOOL	FALSE
-# 	XY43	BOOL	FALSE
-# 	XY44	BOOL	FALSE
-# 	XY45	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
-# 	XY46	BOOL	FALSE
-# 	XY47	STR     1111111100000000000000001111111100000000111111110000000011111111 # cols: 0,3,5,7
-# 	XY50	BOOL	FALSE
-# 	XY51	BOOL	FALSE
-# 	XY52	BOOL	FALSE
-# 	XY53	BOOL	FALSE
-# 	XY54	BOOL	FALSE
-# 	XY55	BOOL	FALSE
-# 	XY56	BOOL	FALSE
-# 	XY57	STR     1111111111111111111111110000000000000000000000001111111111111111 # cols: 0,1,2,6,7
-# 	XY60	STR	0000000000000000000000000000000000000000000001000000000000000000 # cell xy55
-# 	XY61	BOOL	FALSE
-# 	XY62	BOOL	FALSE
-# 	XY63	BOOL	FALSE
-# 	XY64	BOOL	FALSE
-# 	XY65	BOOL	FALSE
-# 	XY66	STR	0000000000000000000000000000000000000000000000000000000000000100 # cell xy75
-# 	XY67	BOOL	FALSE
-# 	XY71	BOOL	FALSE
-# 	XY72	BOOL	FALSE
-# 	XY73	BOOL	FALSE
-# 	XY74	STR     0000000000000000111111110000000000000000000000000000000011111111 # cols: 2,7
-# 	XY75	BOOL	FALSE
-# 	XY76	BOOL	FALSE
-# END
-
-# # PATTERN.CELL	BOOL 	TRUE		# by default, do not do any cell pattern correction
-# PATTERN.CELL.SUBSET	METADATA	# List of chips and whether to do cell pattern correction
-# 	XY01	BOOL	FALSE
-# 	XY02	BOOL	FALSE
-# 	XY03	BOOL	FALSE
-# 	XY04	BOOL	FALSE
-# 	XY05	BOOL	FALSE
-# 	XY06    STR     1101000000010000000110100100000000000000000000000000000000000000
-# 	XY10	BOOL	FALSE
-# 	XY11	BOOL	FALSE
-# 	XY12	BOOL	FALSE
-# 	XY13	BOOL	FALSE
-# 	XY14	STR     0000000000000000111111110000000000000000000000010000000000101101
-# 	XY15	STR     0011111100011000000001000000010000001001000111110001010000011111
-# 	XY16	STR     0000000100000000000000000000000000000001000000000000000000000000
-# 	XY17	BOOL	FALSE
-# 	XY20	BOOL	FALSE
-# 	XY21	BOOL	FALSE
-# 	XY22	BOOL	FALSE
-# 	XY23	BOOL	FALSE
-# 	XY24	STR     0000000000100000000000000110100000100000001000000011100000000000
-# 	XY25	STR     0100010000001001001011000000001000000111000110000000100000000010
-# 	XY26	STR     0000000000000100000000000000000000001000001000000000000000000000
-# 	XY27	BOOL	FALSE
-# 	XY30	BOOL	FALSE
-# 	XY31	BOOL	FALSE
-# 	XY32	BOOL	FALSE
-# 	XY33	BOOL	FALSE
-# 	XY34	STR     0000000000000000000000000000000000000001000011000000101000111111
-# 	XY35	BOOL	FALSE
-# 	XY36	STR     0000000000000000000000000000000000010000000000000000000000000000
-# 	XY37	STR     0000000000000000000000000000000100010001000000001011000010110110
-# 	XY40	STR     0000000000000000000000000010110000000000000001110000001000011111
-# 	XY41	BOOL	FALSE
-# 	XY42	BOOL	FALSE
-# 	XY43	STR     0000000000000000000000010000000100000000000010000100000100000100
-# 	XY44	BOOL	FALSE
-# 	XY45	BOOL	FALSE
-# 	XY46	BOOL	FALSE
-# 	XY47	BOOL	FALSE
-# 	XY50	BOOL	FALSE
-# 	XY51	BOOL	FALSE
-# 	XY52	BOOL	FALSE
-# 	XY53	BOOL	FALSE
-# 	XY54	BOOL	FALSE
-# 	XY55	BOOL	FALSE
-# 	XY56	BOOL	FALSE
-# 	XY57	BOOL	FALSE
-# 	XY60	BOOL	FALSE
-# 	XY61	BOOL	FALSE
-# 	XY62	STR     0000000000000000000000000000000000001000000000000000000100001010
-# 	XY63	BOOL	FALSE
-# 	XY64	BOOL	FALSE
-# 	XY65	BOOL	FALSE
-# 	XY66	BOOL	FALSE
-# 	XY67	BOOL	FALSE
-# 	XY71	BOOL	FALSE
-# 	XY72	STR     0000000000000000000000000000000000000000000000000000000000000001
-# 	XY73	STR     0001100000000000000000000000001000000000000000000000000000000000
-# 	XY74	BOOL	FALSE
-# 	XY75	BOOL	FALSE
-# 	XY76	BOOL	FALSE
-# END
+# NOTE: PATTERN.ROW.SUBSET is defined in the format_DATE.config files because
+# in different periods, the camera had different amounts of row-by-row bias drift
+# for a given cell.  It is necessary to make the choice of whether to correct the 
+# pattern based on the epoch the exposure was taken.
+
+# NOTE: if PATTERN.ROW.SUBSET entries are missing for a given chip, the default 
+# behavior is to NOT correct for the effect. (This makes sense since most camera
+# are not GPC1 and thus do not need the correction).
+
 # PATTERN.ROW		BOOL 	TRUE	# Do any row pattern correction at all?
 PATTERN.ROW.SUBSET	METADATA	# List of chips and whether to do row pattern correction
-	XY01	BOOL	FALSE
-#	XY02	STR     0000000000000000000000000000000000000000000000000000000000000001 # xy77
-	XY02	BOOL	FALSE
-	XY03	BOOL	FALSE
-	XY04	BOOL	FALSE
-	XY05	BOOL	FALSE
-	XY06	BOOL	FALSE
-	XY10	BOOL	FALSE
-	XY11	STR	0011100100000000000000000000000000000000000000000000000000000000
-	XY12	BOOL	FALSE
-	XY13	BOOL	FALSE
-	XY14	STR     0000000000000000000100000000000000000000000000000000000000000000 # xy23
-	XY15	STR     1111111100000000000000000000000000000000000000000000000000000000 # cols: 0
-	XY16	BOOL	FALSE
-	XY17	BOOL	FALSE
-	XY20	BOOL	FALSE
-	XY21	BOOL	FALSE
-	XY22	BOOL	FALSE
-	XY23	BOOL	FALSE
-	XY24	BOOL	FALSE
-	XY25	BOOL	FALSE
-	XY26	BOOL	FALSE
-	XY27	STR     1111111111111111111111111111111100000000000000000000000011111111 # cols: 0,1,2,3,7
-	XY30	BOOL	FALSE
-	XY31	STR     0000000000000000000000000000000000000000000000000000000011111111 # cols: 7
-	XY32	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
-	XY33	BOOL	FALSE
-	XY34	BOOL	FALSE
-	XY35	BOOL	FALSE
-	XY36	BOOL	FALSE
-	XY37	BOOL	FALSE
-	XY40	BOOL	FALSE
-	XY41	BOOL	FALSE
-	XY42	BOOL	FALSE
-	XY43	BOOL	FALSE
-	XY44	BOOL	FALSE
-	XY45	STR     0000000000000000000000001111111100000000000000000000000011111111 # cols: 3,7
-	XY46	BOOL	FALSE
-	XY47	STR     1111111100000000000000001111111100000000111111110000000011111111 # cols: 0,3,5,7
-	XY50	BOOL	FALSE
-	XY51	BOOL	FALSE
-	XY52	BOOL	FALSE
-	XY53	BOOL	FALSE
-	XY54	BOOL	FALSE
-	XY55	BOOL	FALSE
-	XY56	BOOL	FALSE
-	XY57	STR     1111111111111111111111110000000000000000000000001111111111111111 # cols: 0,1,2,6,7
-	XY60	STR	0000000000000000000000000000000000000000000001000000000000000000 # cell xy55
-	XY61	BOOL	FALSE
-	XY62	BOOL	FALSE
-	XY63	BOOL	FALSE
-	XY64	BOOL	FALSE
-	XY65	BOOL	FALSE
-#	XY66	STR	0000000000000000000000000000000000000000000000000000000000000100 # cell xy75
-	XY66	BOOL	FALSE
-	XY67	BOOL	FALSE
-	XY71	BOOL	FALSE
-	XY72	BOOL	FALSE
-	XY73	BOOL	FALSE
-	XY74	STR     0000000000000000111111110000000000000000000000000000000011111111 # cols: 2,7
-	XY75	BOOL	FALSE
-	XY76	BOOL	FALSE
+	XY01	BOOL	TRUE
+ 	XY02	BOOL    TRUE
+	XY02	BOOL	TRUE
+	XY03	BOOL	TRUE
+	XY04	BOOL	TRUE
+	XY05	BOOL	TRUE
+	XY06	BOOL	TRUE
+	XY10	BOOL	TRUE
+	XY11	BOOL	TRUE
+	XY12	BOOL	TRUE
+	XY13	BOOL	TRUE
+	XY14	BOOL    TRUE 
+	XY15	BOOL    TRUE 
+	XY16	BOOL	TRUE
+	XY17	BOOL	TRUE
+	XY20	BOOL	TRUE
+	XY21	BOOL	TRUE
+	XY22	BOOL	TRUE
+	XY23	BOOL	TRUE
+	XY24	BOOL	TRUE
+	XY25	BOOL	TRUE
+	XY26	BOOL	TRUE
+	XY27	BOOL    TRUE 
+	XY30	BOOL	TRUE
+	XY31	BOOL    TRUE 
+	XY32	BOOL    TRUE 
+	XY33	BOOL	TRUE
+	XY34	BOOL	TRUE
+	XY35	BOOL	TRUE
+	XY36	BOOL	TRUE
+	XY37	BOOL	TRUE
+	XY40	BOOL	TRUE
+	XY41	BOOL	TRUE
+	XY42	BOOL	TRUE
+	XY43	BOOL	TRUE
+	XY44	BOOL	TRUE
+	XY45	BOOL    TRUE 
+	XY46	BOOL	TRUE
+	XY47	BOOL    TRUE
+	XY50	BOOL	TRUE
+	XY51	BOOL	TRUE
+	XY52	BOOL	TRUE
+	XY53	BOOL	TRUE
+	XY54	BOOL	TRUE
+	XY55	BOOL	TRUE
+	XY56	BOOL	TRUE
+	XY57	BOOL    TRUE 
+	XY60	BOOL	TRUE
+	XY61	BOOL	TRUE
+	XY62	BOOL	TRUE
+	XY63	BOOL	TRUE
+	XY64	BOOL	TRUE
+	XY65	BOOL	TRUE
+	XY66	BOOL	TRUE
+	XY67	BOOL	TRUE
+	XY71	BOOL	TRUE
+	XY72	BOOL	TRUE
+	XY73	BOOL	TRUE
+	XY74	BOOL	TRUE
+	XY75	BOOL	TRUE
+	XY76	BOOL	TRUE
 END
 
Index: /trunk/ippconfig/gpc1/psastro.config
===================================================================
--- /trunk/ippconfig/gpc1/psastro.config	(revision 42099)
+++ /trunk/ippconfig/gpc1/psastro.config	(revision 42100)
@@ -135,5 +135,6 @@
 
 DVO.GETSTAR.PHOTCODE        STR      i
-DVO.GETSTAR.MAX.RHO         F32      3000.0
+# EAM 2021.11.11: return to 10k (was 3k on processing tag since July swap)
+DVO.GETSTAR.MAX.RHO         F32      10000.0
 DVO.GETSTAR.MIN.MAG         F32     -10.0
 DVO.GETSTAR.MIN.MAG.INST    F32     -45.0
Index: /trunk/ippconfig/gpc1/psphot.config
===================================================================
--- /trunk/ippconfig/gpc1/psphot.config	(revision 42099)
+++ /trunk/ippconfig/gpc1/psphot.config	(revision 42100)
@@ -123,2 +123,24 @@
   FULL_FIT_SN_LIM                     F32   200.0
 END
+
+UNIONS_DR3 METADATA
+  PEAKS_NSIGMA_LIMIT                  F32   100.0            # peak significance threshold
+  PSF.TREND.NX                        S32   1
+  PSF.TREND.NY                        S32   1
+  PEAKS_USE_SIGNAL_IMAGE	      BOOL  TRUE             # significance peaks have a central divot
+  LMM_FIT_USE_REWEIGHTING             BOOL  TRUE             # use IRLS-style reweighting (TRUE) or ordinary LMM
+  EXT_MODEL                           STR   PS_MODEL_RGAUSS
+
+# EXTENDED_SOURCE_FITS                BOOL  TRUE  # perform any of the aperture-like measurements?
+# EXTENDED_SOURCE_ANNULI              BOOL  TRUE
+# EXTENDED_SOURCE_SN_LIM              F32   5.0
+
+  # radii in pixels. UNIONS_DR3 uses TESS RINGS.V3 with 0.25 arcsec pixels
+  # these correspond to 1, 2, 4, 8, 12, 16 arcsecond radii
+  @RADIAL.ANNULAR.BINS.LOWER          F32      0.00 4.00  8.00 16.00 32.00 48.00 # perl parser fails without a comment ticket #1476 still?
+  @RADIAL.ANNULAR.BINS.UPPER          F32      4.00 8.00 16.00 32.00 48.00 64.00 # perl parser fails without a comment ticket #1476 still?
+  RADIAL.ANNULAR.BINS.MIN             S32      3 # always measure apertures to this entry
+
+  RADIAL_APERTURES		      BOOL  TRUE # measure the radial apertures listed above
+  RADIAL_APERTURES_SN_LIM             F32   0.0  # S/N limit for radial aperture calculation
+END
Index: /trunk/ippconfig/gpc1/pswarp.config
===================================================================
--- /trunk/ippconfig/gpc1/pswarp.config	(revision 42099)
+++ /trunk/ippconfig/gpc1/pswarp.config	(revision 42100)
@@ -3,5 +3,5 @@
 BKG.XGRID		S32	50
 BKG.YGRID		S32	50
-ADDITIONAL_WCS_ORDERS   S32     4               # By default, use a bilevel astrometric model with 4 additional orders.
+ADDITIONAL_WCS_ORDERS   S32     3               # By default, use a bilevel astrometric model with 4 additional orders.
 
 WARP_GAUSS	METADATA
Index: /trunk/ippconfig/gpc2/psastro.config
===================================================================
--- /trunk/ippconfig/gpc2/psastro.config	(revision 42099)
+++ /trunk/ippconfig/gpc2/psastro.config	(revision 42100)
@@ -129,5 +129,6 @@
 
 DVO.GETSTAR.PHOTCODE        STR      i
-DVO.GETSTAR.MAX.RHO         F32      3000.0
+# EAM 2021.11.11: return to 10k (was 3k on processing tag since July swap)
+DVO.GETSTAR.MAX.RHO         F32      10000.0
 DVO.GETSTAR.MIN.MAG         F32     -10.0
 DVO.GETSTAR.MIN.MAG.INST    F32     -45.0
Index: /trunk/ippconfig/hsc/psphot.config
===================================================================
--- /trunk/ippconfig/hsc/psphot.config	(revision 42099)
+++ /trunk/ippconfig/hsc/psphot.config	(revision 42100)
@@ -97,3 +97,9 @@
   IMSTATS_NPIX            S32   100000
   SKY_STAT                STR   ROBUST_MEDIAN
+
+  PSF.TREND.MODE                      STR   MAP
+  PSF.TREND.NX                        S32   2
+  PSF.TREND.NY                        S32   3
+
+  APTREND.ORDER.MAX                   S32   1
 END
Index: /trunk/ippconfig/recipes/fitstypes.mdc
===================================================================
--- /trunk/ippconfig/recipes/fitstypes.mdc	(revision 42099)
+++ /trunk/ippconfig/recipes/fitstypes.mdc	(revision 42100)
@@ -130,4 +130,6 @@
 
 # Compressed exposure image
+# NOTE: only allows exposure times up to 6553.6 seconds
+# (too small for UNIONS and other deep stacks)
 EXP	METADATA
 	BITPIX		S32	16
@@ -146,4 +148,51 @@
 END
 
+# Deep Compressed log flux image for stacks.
+# allows real images values up to 10^8 DN
+STK_UNIONS_RAW     METADATA
+	BITPIX		S32	-32
+	SCALING		STR	MANUAL
+	BSCALE		F32	1.0
+	BZERO		F32	0.0
+	COMPRESSION	STR	NONE
+	TILE.X		S32	0
+	TILE.Y		S32	1
+	TILE.Z		S32	1
+	NOISE		S32	8
+END
+
+STK_UNIONS_COMP     METADATA
+        BITPIX          S32     16
+        SCALING         STR     ASINH_MANUAL
+	BSCALE		F32	0.00061	# 2^15 ~ 100M DN
+	BZERO		F32	0.0	# symmetric about 0.0 DN
+	BOFFSET		F32	0.0	# symmetric about 0.0 DN
+	BSOFTEN		F32	1.0	# bend the curve at 1 DN
+	COMPRESSION     STR     RICE
+	TILE.X		S32	0
+	TILE.Y		S32	1
+	TILE.Z		S32	1
+	NOISE		S32	8
+END
+
+# Deep compressed exposure image
+# NOTE: only allows exposure times up to 65536 seconds
+# (OK for UNIONS but not MD deep stacks)
+EXP_UNIONS METADATA
+	BITPIX		S32	16
+	SCALING		STR	MANUAL
+	FUZZ		BOOL	FALSE
+	# Note: TRUE = BZERO + BSCALE * DISK
+	BSCALE		F32	1	# Disk is stored as 1/10th sec
+	BZERO		F32	32768	# Store unsigned zero as zero
+	# switch to NONE to work around ticket 1411
+	#COMPRESSION	STR	NONE
+	COMPRESSION	STR	GZIP
+	TILE.X		S32	0
+	TILE.Y		S32	1
+	TILE.Z		S32	1
+	NOISE		S32	8
+END
+
 # Compressed number image
 EXPNUM	METADATA
Index: /trunk/ippconfig/recipes/ppStack.config
===================================================================
--- /trunk/ippconfig/recipes/ppStack.config	(revision 42099)
+++ /trunk/ippconfig/recipes/ppStack.config	(revision 42100)
@@ -9,7 +9,7 @@
 COMBINE.DISCARD	F32	0.2		# Discard fraction for Olympic weighted mean
 
-COMBINE.PERCENT   BOOL  FALSE           # Use a single percentile clipping?
-COMBINE.MIN.RANGE F32   0.16            # Minimum fraction for percentile clipping
-COMBINE.MAX.RANGE F32   0.84            # Maximum fraction for percentile clipping
+COMBINE.PERCENT         BOOL  FALSE     # Use a single percentile clipping?
+COMBINE.REJECT.FRACTION F32   0.32      # fraction of outliers to reject in percentile clipping
+                                        # Note this is the total both above and below the median
 
 MASK.VAL	STR	MASK.VALUE,CONV.BAD,GHOST # Mask value of input bad pixels
@@ -18,4 +18,6 @@
 MASK.POOR	STR	CONV.POOR	# Mask value to give poor pixels
 MASK.BLANKBORDER S32    0               # Mask blank border in final stack output (may want to set KERNEL.SIZE)
+
+SKIP.MISSING.INPUTS BOOL FALSE          # If some input warp images are missing, make the stack anyway
 
 # we are in some danger of inconsistency in the definition of a 'bad' vs a 'suspect' pixel
@@ -113,4 +115,5 @@
 OUTPUT.NOCOMP   BOOL    FALSE           # use filerules that make conconpressed outputs
 OUTPUT.LOGFLUX  BOOL    FALSE           # choose a log-scaling for output images
+OUTPUT.DEEPEXP  BOOL    FALSE           # allow exptime maps with dynamic range up to 2^16 (64k) seconds
 
 OUTPUT.REPLICATE BOOL   TRUE
@@ -227,7 +230,12 @@
 END
 
-
-
-
+STACK_UNIONS_DR3 METADATA
+  COMBINE.PERCENT     BOOL TRUE  # Use a single percentile clipping?
+  SKIP.MISSING.INPUTS BOOL TRUE  # If some input warp images are missing, make the stack anyway
+  CONVOLVE	      BOOL FALSE # Convolve images when stacking?
+  OUTPUT.NOCOMP       BOOL FALSE # use filerules that make compressed outputs
+  OUTPUT.LOGFLUX      BOOL TRUE  # choose a log-scaling for output images
+  OUTPUT.DEEPEXP      BOOL TRUE  # allow exptime maps with dynamic range up to 2^16 (64k) seconds
+END
 
 TEST1 METADATA
Index: /trunk/ippconfig/recipes/ppStatsFromMetadata.config
===================================================================
--- /trunk/ippconfig/recipes/ppStatsFromMetadata.config	(revision 42099)
+++ /trunk/ippconfig/recipes/ppStatsFromMetadata.config	(revision 42100)
@@ -271,5 +271,5 @@
   TYPE   VAL  KEYWORD             TYPE STATISTIC         FLAG 
   ENTRY  VAL  CERROR              F32  RMS              -sigma_ra          
-  ENTRY  VAL  CERROR              F32  RMS              -sigma_dec         
+  ENTRY  VAL  CERROR              F32  SAMPLE_MEDIAN    -sigma_dec         
   ENTRY  VAL  DT_ASTR             F32  SUM              -dtime_astrom      
   ENTRY  VAL  NASTRO              S32  SUM              -n_astrom          
Index: /trunk/ippconfig/recipes/psphot.config
===================================================================
--- /trunk/ippconfig/recipes/psphot.config	(revision 42099)
+++ /trunk/ippconfig/recipes/psphot.config	(revision 42100)
@@ -58,4 +58,5 @@
 				    	  		  # input pixels contribute less than this fraction of the flux
 PEAKS_NMAX_TOTAL                    S32   0               # maximum allowed number of peaks 0 == unlimited
+PEAKS_USE_SIGNAL_IMAGE              BOOL  FALSE           # on first pass, use signal image not signficance image to find peaks
 
 # parameters which adjust the footprint analysis
@@ -111,4 +112,5 @@
 LMM_FIT_CHISQ_CONVERGENCE           BOOL  TRUE            # use the (old) chisq convergence or the new parameter one 
 LMM_FIT_GAIN_FACTOR_MODE            S32   0               # there are 3 options to determine the gain factor (0,1,2)
+LMM_FIT_USE_REWEIGHTING             BOOL  FALSE           # use IRLS-style reweighting (TRUE) or ordinary LMM
 
 PSF_FIT_ITER                        S32   50              # Maximum number of fitting iterations for PSF
@@ -1042,2 +1044,5 @@
 M31_DEEP METADATA 
 END
+
+UNIONS_DR3 METADATA
+END
Index: /trunk/ippconfig/recipes/pswarp.config
===================================================================
--- /trunk/ippconfig/recipes/pswarp.config	(revision 42099)
+++ /trunk/ippconfig/recipes/pswarp.config	(revision 42100)
@@ -29,5 +29,5 @@
 BKG.YGRID              S32    4
 
-ADDITIONAL_WCS_ORDERS S32     3                # By default, use a bilevel astrometric model with 4 additional orders.
+ADDITIONAL_WCS_ORDERS S32     3                # By default, use a bilevel astrometric model with 3 additional orders.
 
 # Default recipe for warping
Index: /trunk/ippconfig/recipes/reductionClasses.mdc
===================================================================
--- /trunk/ippconfig/recipes/reductionClasses.mdc	(revision 42099)
+++ /trunk/ippconfig/recipes/reductionClasses.mdc	(revision 42100)
@@ -2062,2 +2062,26 @@
         PSVIDEOPHOT                 STR     PSVIDEOPHOT
 END
+
+# UNIONS DR3 reduction class
+UNIONS_DR3  METADATA
+    CHIP_PPIMAGE                STR     CHIP
+    CHIP_PSPHOT                 STR     CHIP
+    WARP_PSWARP                 STR     WARP
+    STACK_PPSTACK               STR     STACK_UNIONS_DR3
+    STACK_PPSUB                 STR     STACK
+    STACK_PSPHOT                STR     STACK
+    DIFF_PPSUB	                STR	DIFF
+    DIFF_PSPHOT	                STR	DIFF
+    JPEG_BIN1                   STR     PPIMAGE_J1
+    JPEG_BIN2                   STR     PPIMAGE_J2
+    FAKEPHOT                    STR     FAKEPHOT
+    ADDSTAR                     STR     ADDSTAR
+    PSASTRO                     STR     DEFAULT_RECIPE
+    STACKPHOT_PSPHOT            STR     UNIONS_DR3
+    STACKPHOT_PPSUB             STR     STACKPHOT
+    STACKPHOT_PPSTACK           STR     STACKPHOT
+    STACKPHOT_SINGLE_PSPHOT     STR     STACKPHOT_SINGLE
+    BACKGROUND_PPBACKGROUND     STR     BACKGROUND
+    BACKGROUND_PSWARP           STR     BACKGROUND
+    PSVIDEOPHOT                 STR     PSVIDEOPHOT
+END
