Index: trunk/ippTasks/pantasks.pro
===================================================================
--- trunk/ippTasks/pantasks.pro	(revision 26050)
+++ 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 26050)
+++ 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
 
