Index: /trunk/ippTasks/pantasks.pro
===================================================================
--- /trunk/ippTasks/pantasks.pro	(revision 26069)
+++ /trunk/ippTasks/pantasks.pro	(revision 26070)
@@ -530,5 +530,11 @@
 
   if ("$host" == "NULL")
-    strsub $template @HOST@ $default -var $varname
+    # we are modifying something like /data/@HOST@/foo/bar, 
+    # but some implementations have multiple entries for the same host,
+    # like /data/@HOST@.0/foo/bar.  
+    # try a couple of these first:
+    strsub $template @HOST@.0 $default -var $varname
+    strsub $$varname @HOST@.1 $default -var $varname
+    strsub $$varname @HOST@   $default -var $varname
   else
     strsub $template @HOST@ $host -var $varname
@@ -557,5 +563,7 @@
   book getword ipphosts skycell count -var count
   if ("$count" == "NULL")
-    strsub $template @HOST@ $default -var $varname
+    strsub $template @HOST@.0 $default -var $varname
+    strsub $$varname @HOST@.1 $default -var $varname
+    strsub $$varname @HOST@   $default -var $varname
     return
   end    
@@ -568,6 +576,5 @@
     $skyhash = $skyhash + $myValue
   end
-  # strhash $skycellID $count -var skyhash
-
+  inthash $skyhash 46 -var skyhash
   sprintf skyname "sky%02d" $skyhash
 
@@ -576,5 +583,7 @@
 
   if ("$host" == "NULL")
-    strsub $template @HOST@ $default -var $varname
+    strsub $template @HOST@.0 $default -var $varname
+    strsub $$varname @HOST@.1 $default -var $varname
+    strsub $$varname @HOST@   $default -var $varname
   else
     strsub $template @HOST@ $host -var $varname
Index: /trunk/ippTasks/survey.pro
===================================================================
--- /trunk/ippTasks/survey.pro	(revision 26069)
+++ /trunk/ippTasks/survey.pro	(revision 26070)
@@ -4,19 +4,28 @@
 check.globals
 
-book getbook SURVEY_DIFF -var isBook
-if ("$isBook" == "NULL")
-  book create SURVEY_DIFF
-end
-book getbook SURVEY_MAGIC -var isBook
-if ("$isBook" == "NULL")
-  book create SURVEY_MAGIC
-end
-book getbook SURVEY_DESTREAK -var isBook
-if ("$isBook" == "NULL")
-  book create SURVEY_DESTREAK
-end
-book getbook SURVEY_DIST -var isBook
-if ("$isBook" == "NULL")
-  book create SURVEY_DIST
+# there is a bug in 'getbook', use a different method below
+# book getbook SURVEY_DIFF -var isBook
+# if ("$isBook" != "SURVEY_DIFF")
+#   book create SURVEY_DIFF
+# end
+# book getbook SURVEY_MAGIC -var isBook
+# if ("$isBook" == "NULL")
+#   book create SURVEY_MAGIC
+# end
+# book getbook SURVEY_DESTREAK -var isBook
+# if ("$isBook" == "NULL")
+#   book create SURVEY_DESTREAK
+# end
+# book getbook SURVEY_DIST -var isBook
+# if ("$isBook" == "NULL")
+#   book create SURVEY_DIST
+# end
+
+if (not($?haveSurveyBooks))
+ book create SURVEY_DIFF
+ book create SURVEY_MAGIC
+ book create SURVEY_DESTREAK
+ book create SURVEY_DIST
+ $haveSurveyBooks = TRUE
 end
 
@@ -29,5 +38,4 @@
 $SURVEY_POLL = 10
 $SURVEY_TIMEOUT = 600
-
 
 # user functions to manipulate diff labels
@@ -171,7 +179,5 @@
       # Select different database
       $SURVEY_DIFF_DB ++
-      if ($SURVEY_DIFF_DB >= $DB:n)
-        $SURVEY_DIFF_DB = 0
-      end
+      if ($SURVEY_DIFF_DB >= $DB:n) set SURVEY_DIFF_DB = 0
     end
 
@@ -183,5 +189,5 @@
     $run = $run -input_label $label
     $run = $run -template_label $label
-    $run = $run -dist_group $dist_group
+    $run = $run -set_dist_group $dist_group
     $run = $run -set_label $label
     $run = $run -set_workdir $workdir/$label/
@@ -251,7 +257,5 @@
       # Select different database
       $SURVEY_MAGIC_DB ++
-      if ($SURVEY_MAGIC_DB >= $DB:n)
-        set $SURVEY_MAGIC_DB = 0
-      end
+      if ($SURVEY_MAGIC_DB >= $DB:n) set SURVEY_MAGIC_DB = 0
     end
 
@@ -259,5 +263,5 @@
     book getword SURVEY_MAGIC $label WORKDIR -var workdir
   
-    $run = magictool -definebyquery -label $label -diff_label $label -workdir $workdir/$label/
+    $run = magictool -rerun -definebyquery -label $label -diff_label $label -workdir $workdir/$label/
 
     if ($DB:n == 0)
@@ -268,5 +272,5 @@
     end
     
-#    echo $run
+    echo $run
     command $run
   end
@@ -299,6 +303,4 @@
   periods      -timeout $SURVEY_TIMEOUT
   npending     1
-
-  active false
 
   stdout $LOGDIR/survey.destreak.log
@@ -325,7 +327,5 @@
       # Select different database
       $SURVEY_DESTREAK_DB ++
-      if ($SURVEY_DESTREAK_DB >= $DB:n)
-        set $SURVEY_DESTREAK_DB = 0
-      end
+      if ($SURVEY_DESTREAK_DB >= $DB:n) set SURVEY_DESTREAK_DB = 0
     end
 
@@ -338,5 +338,5 @@
       option DEFAULT
     else
-      $run = $run -dbname $DB:$SURVEY_MAGIC_DB
+      $run = $run --dbname $DB:$SURVEY_MAGIC_DB
       option $DB:$SURVEY_MAGIC_DB
     end
@@ -397,7 +397,5 @@
       # Select different database
       $SURVEY_DIST_DB ++
-      if ($SURVEY_DIST_DB >= $DB:n)
-        set $SURVEY_DIST_DB = 0
-      end
+      if ($SURVEY_DIST_DB >= $DB:n) set SURVEY_DIST_DB = 0
     end
 
Index: /trunk/ippconfig/gpc1/ppImage.config
===================================================================
--- /trunk/ippconfig/gpc1/ppImage.config	(revision 26069)
+++ /trunk/ippconfig/gpc1/ppImage.config	(revision 26070)
@@ -155,5 +155,5 @@
   MASK.BURNTOOL      BOOL    TRUE            # Mask potential burntool trails
   PATTERN          BOOL    TRUE            # Subtract pattern noise
-  FRINGE           BOOL    FALSE           # Fringe subtraction
+  FRINGE           BOOL    TRUE           # Fringe subtraction
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
   BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
Index: /trunk/ippconfig/recipes/psastro.config
===================================================================
--- /trunk/ippconfig/recipes/psastro.config	(revision 26069)
+++ /trunk/ippconfig/recipes/psastro.config	(revision 26070)
@@ -159,4 +159,10 @@
 ZERO.POINT.EDGE.FRACTION      F32      0.2
 
+ZPTEST METADATA
+  ZERO.POINT.BY.EXPOSURE      BOOL     TRUE
+  ZERO.POINT.USE.MEAN	      BOOL     FALSE
+  ZERO.POINT.EDGE.FRACTION    F32      0.1
+END
+
 PSASTRO.2MASS                 METADATA
   PSASTRO.CATDIR              STR      2MASS
Index: /trunk/ippconfig/recipes/reductionClasses.mdc
===================================================================
--- /trunk/ippconfig/recipes/reductionClasses.mdc	(revision 26069)
+++ /trunk/ippconfig/recipes/reductionClasses.mdc	(revision 26070)
@@ -152,34 +152,34 @@
 # basic science analysis
 STDSCIENCE_V0	METADATA
-	CHIP_PPIMAGE	STR	TILTY
-	CHIP_PSPHOT	STR	CHIP
-	WARP_PSWARP	STR	WARP
-	STACK_PPSTACK	STR	STACK
-	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
-END
-
-# basic science analysis : test of GPC1 with noisemap & no tiltystreak
+	CHIP_PPIMAGE	STR	CHIP
+	CHIP_PSPHOT	STR	CHIP
+	WARP_PSWARP	STR	WARP
+	STACK_PPSTACK	STR	STACK
+	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
+END
+
+# basic science analysis : test of GPC1 with alternate ZP analysis
 STDSCIENCE_T0	METADATA
-	CHIP_PPIMAGE	STR	NOISY
-	CHIP_PSPHOT	STR	CHIP
-	WARP_PSWARP	STR	WARP
-	STACK_PPSTACK	STR	STACK
-	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
+	CHIP_PPIMAGE	STR	CHIP
+	CHIP_PSPHOT	STR	CHIP
+	WARP_PSWARP	STR	WARP
+	STACK_PPSTACK	STR	STACK
+	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	ZPTEST
 END
 
Index: /trunk/operations/Makefile.in
===================================================================
--- /trunk/operations/Makefile.in	(revision 26069)
+++ /trunk/operations/Makefile.in	(revision 26070)
@@ -1,3 +1,3 @@
-default: php
+default: install
 help:
 	@echo "USAGE: make install"
@@ -24,4 +24,8 @@
 install: $(INPUTS) $(PTOLEMYRC)
 
+uninstall:
+	rm -f $(INPUTS) || exit
+	rm -f $(PTOLEMYRC) || exit
+
 # dependency rules #########################
 $(DEST)/%/input: $(SRC)/%/input
Index: /trunk/psModules/src/objects/pmSourceFitModel.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceFitModel.c	(revision 26069)
+++ /trunk/psModules/src/objects/pmSourceFitModel.c	(revision 26070)
@@ -91,4 +91,10 @@
             if (!isfinite(source->pixels->data.F32[i][j])) {
                 continue;
+            }
+
+            // skip nan values in image
+            if (!isfinite(source->variance->data.F32[i][j])) {
+	      fprintf (stderr, "impossible! %x vs %x\n", source->maskObj->data.PS_TYPE_IMAGE_MASK_DATA[i][j], maskVal);
+	      continue;
             }
 
