Index: trunk/tools/eam/teleff/diffmask.pro
===================================================================
--- trunk/tools/eam/teleff/diffmask.pro	(revision 41717)
+++ trunk/tools/eam/teleff/diffmask.pro	(revision 41719)
@@ -2,7 +2,9 @@
 
 $VERBOSE    = 1	       
-$COPYMASKS  = 1
+$COPYMASKS  = 0
 $OUTDIR     = .
-$OUTVERSION = XXX
+if (not($?OUTVERSION))
+  $OUTVERSION = XXX
+end
 
 $DIFF_MODE_WW = 1
@@ -52,4 +54,9 @@
   if ($VERBOSE) echo "loaded Rref[] sources from reference $refsrcs"
 
+  # delete any existing output vectors
+  foreach field $SMF_FIELDS_DIF $REF_FIELDS_DIF $XTR_FIELDS_DIF
+    delete -q $field\_out
+  end
+
   # find matching entries in cmf files and measure mask fraction
   for i 0 $diffMask:n
@@ -67,9 +74,9 @@
     end
 
-   foreach field SMF_FIELDS_DIF
+   foreach field $SMF_FIELDS_DIF
      concat $field\_found $field\_out
      delete $field\_found
    end
-   foreach field REF_FIELDS_DIF $XTR_FIELDS_DIF
+   foreach field $REF_FIELDS_DIF $XTR_FIELDS_DIF
      concat $field\_onchp $field\_out
      delete $field\_onchp
@@ -78,9 +85,9 @@
 
   $OUT_FIELDS = 
-  foreach field $SMP_FIELDS_DIF $REF_FIELDS_DIF $XTR_FIELDS_DIF
+  foreach field $SMF_FIELDS_DIF $REF_FIELDS_DIF $XTR_FIELDS_DIF
     $OUT_FIELDS = $OUT_FIELDS $field\_out
   end
 
-  sprintf output "%s/%s.%s.diff.stf" $OUTDIR $expname $OUTVERSION
+  sprintf output "%s/%s.%s.dif.stf" $OUTDIR $expname $OUTVERSION
   write -fits DATA $output $OUT_FIELDS
 end
@@ -128,5 +135,5 @@
 
   # generate a subset of sources which are within the boundaries of the skycell
-  set keep = (XrefS >= 0) && (XrefS <= $NAXIS1) && (YrefS >= 0) && (YrefS <= $NAXIS2)
+  set keep = (Xref_tmp >= 0) && (Xref_tmp <= $NAXIS1) && (Yref_tmp >= 0) && (Yref_tmp <= $NAXIS2)
   foreach field $REF_FIELDS_DIF Nref Xref Yref
     subset $field\_onchp = $field\_tmp if keep
@@ -201,6 +208,12 @@
  for i 0 $diffPath:n
    sprintf filename "%s.mask.fits" $diffPath:$i
+   break -auto off   
    $diffMask:$i = `neb-locate -p $filename`
-   if ($COPYMASKS) exec neb-copy $filename $OUTDIR
+   break -auto on
+   if ("$diffMask:$i" == "")
+     echo "skipping $filename"
+   else 
+     if ($COPYMASKS) exec neb-copy $filename $OUTDIR
+   end
 
    sprintf filename "%s.cmf" $diffPath:$i
@@ -274,7 +287,19 @@
  
  if ($npages < 1) 
-  echo "ERROR: missing exposure : $command"
+  # try the template versoin
   book delete mybook
-  next
+ 
+  $command = difftool -dbname $dbname -listrun -exp_name $expname -warp_id $warpID -diff_mode $diffMode -template
+  
+  queueload  myqueue -x "$command"
+  queue2book myqueue mybook
+  
+  book npages mybook -var npages
+  
+  if ($npages < 1) 
+   echo "ERROR: missing exposure : $command"
+   book delete mybook
+   return
+  end
  end
  
@@ -282,5 +307,5 @@
   echo "ERROR: too many exposures : $command"
   book delete mybook
-  next
+  return
  end
  
