Index: /trunk/ippScripts/scripts/chip_imfile.pl
===================================================================
--- /trunk/ippScripts/scripts/chip_imfile.pl	(revision 32354)
+++ /trunk/ippScripts/scripts/chip_imfile.pl	(revision 32355)
@@ -266,27 +266,28 @@
         }
 
-        ## Read camera config to get the current good burntool state
-	## this returns just the values of interest in a tiny mdc file
-        my $camera_config_cmd = "$ppConfigDump -camera $camera -get-key BURNTOOL.STATE.GOOD -get-key BURNTOOL.STATE.GOOD.UPDATE";
-        ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
-            run(command => $camera_config_cmd, verbose => 0);
-        unless ($success) {
-            $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
-            &my_die("Unable to perform ppConfigDump: $error_code", $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR);
-        }
-
-        my $camData = $mdcParser->parse(join "", @$stdout_buf) or
-            &my_die("Unable to parse ppConfigDump metadata", $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR);
-
-        my $burntoolStateGood;
-        my $burntoolStateGoodUpdate;
-        foreach my $camEntry (@$camData) {
-            if ($camEntry->{name} eq "BURNTOOL.STATE.GOOD") {
-                $burntoolStateGood = $camEntry->{value};
-            }
-            if ($camEntry->{name} eq "BURNTOOL.STATE.GOOD.UPDATE") {
-                $burntoolStateGoodUpdate = $camEntry->{value};
-            }
-        }
+        ## Read camera config to get the current good burntool state :
+        ## XXX This is extremely slow. Any better way to do this?
+        ## my $camera_config_cmd = "$ppConfigDump -camera $camera -dump-camera -";
+        ## ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
+        ##     run(command => $camera_config_cmd, verbose => 0);
+        ## unless ($success) {
+        ##     $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
+        ##     &my_die("Unable to perform ppConfigDump: $error_code", $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR);
+        ## }
+        ##
+        ## my $camData = $mdcParser->parse(join "", @$stdout_buf) or
+        ##     &my_die("Unable to parse ppConfigDump metadata", $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR);
+
+        ## XXX short term hack until we have a C-based parser
+        my $burntoolStateGood = 14;
+        my $burntoolStateGoodUpdate = 13;
+        ## foreach my $camEntry (@$camData) {
+        ##     if ($camEntry->{name} eq "BURNTOOL.STATE.GOOD") {
+        ##         $burntoolStateGood = $camEntry->{value};
+        ##     }
+        ##     if ($camEntry->{name} eq "BURNTOOL.STATE.GOOD.UPDATE") {
+        ##         $burntoolStateGoodUpdate = $camEntry->{value};
+        ##     }
+        ## }
 
         if ($run_state eq 'new') {
Index: /trunk/ippTasks/diskbalance.pro
===================================================================
--- /trunk/ippTasks/diskbalance.pro	(revision 32354)
+++ /trunk/ippTasks/diskbalance.pro	(revision 32355)
@@ -104,5 +104,5 @@
 $BALANCE_LIMIT       = 500
 $BALANCE_OFFSET      = 0
-$BALANCE_TARGET      = "SOURCE"
+$BALANCE_TARGET      = SOURCE
 # Select Nebulous objects which should be shuffled
 task           balance.load
Index: /trunk/ippconfig/gpc1/ppImage.config
===================================================================
--- /trunk/ippconfig/gpc1/ppImage.config	(revision 32354)
+++ /trunk/ippconfig/gpc1/ppImage.config	(revision 32355)
@@ -1083,4 +1083,31 @@
 END
 
+PR_NOPATTERN       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
+  NONLIN           BOOL    TRUE            # apply non-linearity correction 
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    TRUE            # Dark subtraction
+  REMNANCE         BOOL    FALSE           # Remnance masking
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    TRUE            # Flat-field normalisation
+  MASK             BOOL    TRUE            # Mask bad pixels
+  MASK.BUILD	        BOOL    TRUE	          # Build internal mask?
+  FRINGE           BOOL    FALSE           # Fringe subtraction
+  PATTERN.ROW      BOOL    FALSE           # Row pattern correction
+  PATTERN.CELL        BOOL    FALSE	        # Cell pattern correction
+  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?
+  BACKGROUND       BOOL    FALSE            # Subtract background?
+  CROSSTALK.MEASURE  BOOL  TRUE            # Subtract model background?
+END
 
 # Standard chip processing without any background removal
Index: /trunk/ippconfig/megacam/camera.config
===================================================================
--- /trunk/ippconfig/megacam/camera.config	(revision 32354)
+++ /trunk/ippconfig/megacam/camera.config	(revision 32355)
@@ -154,4 +154,18 @@
 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/recipes/ppSim.config
===================================================================
--- /trunk/ippconfig/recipes/ppSim.config	(revision 32354)
+++ /trunk/ippconfig/recipes/ppSim.config	(revision 32355)
@@ -46,11 +46,11 @@
 FORCED.PHOTCODE STR     r               # source of the forced photometry positions
 
-STARS.REAL	BOOL	TRUE		# Add stars from a catalogue?
-MATCH.DENSITY   BOOL    TRUE            # significance of faintest sources
+STARS.REAL	BOOL	TRUE 		# Add stars from a catalogue?
+MATCH.DENSITY   BOOL    FALSE           # significance of faintest sources
 
 STARS.FAKE      BOOL    TRUE		# Add fake stars, randomly distributed?
-STARS.LUM	F32	0.35		# Stellar luminosity function slope (magnitude slope)
-STARS.MAG	F32	15.5		# Brightest magnitude for fake stars (choose based on real catalog limit)
-STARS.DENSITY	F32      1.0		# Stellar density (per square degree) at the brightest magnitude
+STARS.LUM	F32	0.40		# Stellar luminosity function slope (magnitude slope)
+STARS.MAG	F32	12.5		# Brightest magnitude for fake stars (choose based on real catalog limit)
+STARS.DENSITY	F32    100.0		# Stellar density (per square degree) at the brightest magnitude
 STARS.SIGMA.LIM F32      1.0            # significance of faintest sources
 
Index: /trunk/ppStack/src/ppStackReject.c
===================================================================
--- /trunk/ppStack/src/ppStackReject.c	(revision 32354)
+++ /trunk/ppStack/src/ppStackReject.c	(revision 32355)
@@ -33,11 +33,11 @@
 	
 	kernel->solution1 = psVectorAlloc(3, PS_TYPE_F64);
+	psVectorSet(kernel->solution1, 0, 1.0);
 	psVectorSet(kernel->solution1, 1, 1.0);
 	psVectorSet(kernel->solution1, 2, 1.0);
-	psVectorSet(kernel->solution1, 3, 1.0);
 	kernel->solution2 = psVectorAlloc(3, PS_TYPE_F64);
+	psVectorSet(kernel->solution2, 0, 1.0);
 	psVectorSet(kernel->solution2, 1, 1.0);
-	psVectorSet(kernel->solution1, 2, 1.0);
-	psVectorSet(kernel->solution1, 3, 1.0);
+	psVectorSet(kernel->solution2, 2, 1.0);
 	
 	options->kernels->data[i] = kernels;
