Index: trunk/tools/eam/teleff/warpmask.pro
===================================================================
--- trunk/tools/eam/teleff/warpmask.pro	(revision 41712)
+++ trunk/tools/eam/teleff/warpmask.pro	(revision 41717)
@@ -5,4 +5,7 @@
 $OUTDIR     = .
 $OUTVERSION = XXX
+
+$REF_FIELDS_WRP = Rref Dref Mref 
+$XTR_FIELDS_WRP = Xref Yref Nref Q1ref
 
 macro get.warp.eff
@@ -39,5 +42,5 @@
   data $refsrcs
   # NOTE: Mref is chosen to match filter for this exposure
-  data $refsrcs; read -fits DATA Rref Dref Mref
+  data $refsrcs; read -fits DATA $REF_FIELDS_WRP
   set Nref = ramp(Rref)
   if ($VERBOSE) echo "loaded Rref[] sources from reference $refsrcs"
@@ -47,7 +50,17 @@
     get.warp.mask.stats $warpMask:$i
 
-    sprintf output "%s/%s.%s.%s.warp.stf" $OUTDIR $expname $skycell:$i $OUTVERSION
-    write -fits DATA $output RrefSS DrefSS MrefSS XrefSS YrefSS Q1refSS
-  end
+    foreach field REF_FIELDS_WRP $XTR_FIELDS_WRP
+      concat $field\_onchp $field\_out
+      delete $field\_onchp
+    end
+  end
+
+  $OUT_FIELDS = 
+  foreach field $REF_FIELDS_WRP $XTR_FIELDS_WRP
+    $OUT_FIELDS = $OUT_FIELDS $field\_out
+  end
+
+  sprintf output "%s/%s.%s.%s.warp.stf" $OUTDIR $expname $skycell:$i $OUTVERSION
+  write -fits DATA $output $OUT_FIELDS
 end
 
@@ -67,5 +80,5 @@
 
   # select the sources which are within the bounds of this image
-  # output is XrefSS YrefSS RrefSS DrefSS MrefSS
+  # output is Xref_onchp Yref_onchp Rref_onchp Dref_onchp Mref_onchp
   get.warp.detect.coords mk
 
@@ -75,9 +88,8 @@
   # I want to set an image based on the bit values but I fear
   # the mask has been converted to a float when read
-  forcedphot mkPerfect XrefSS YrefSS -output Q1refSS
-
-  subset tmp = Q1refSS where (Q1refSS > 0.85)
-
-  if ($VERBOSE) echo tmp[] of Q1refSS[] are unmasked
+  forcedphot mkPerfect Xref_onchp Yref_onchp -output Q1ref_onchp
+
+  subset tmp = Q1ref_onchp where (Q1ref_onchp > 0.85)
+  if ($VERBOSE) echo tmp[] of Q1ref_onchp[] are unmasked
 end
 
@@ -92,5 +104,5 @@
   end
 
-  local buffname
+  local buffname NAXIS1 NAXIS2
   $buffname = $1
 
@@ -106,20 +118,19 @@
   # do we need to grow the range at all?
   set keep = (Rref >= $minR) && (Rref <= $maxR) && (Dref >= $minD) && (Dref <= $maxD) 
-  subset RrefS = Rref if keep
-  subset DrefS = Dref if keep
-  subset MrefS = Mref if keep
+  foreach field $REF_FIELDS_WRP Nref
+    subset $field\_tmp = $field if keep
+  end
 
   # convert the subset coordinates to pixels
-  set XrefS = RrefS
-  set YrefS = DrefS
-  coords -q $buffname -c XrefS YrefS
+  set Xref_tmp = Rref_tmp
+  set Yref_tmp = Dref_tmp
+  coords -q $buffname -c Xref_tmp Yref_tmp
 
   # generate a subset of sources which are within the boundaries of the chip
-  set keep = (XrefS >= 0) && (XrefS <= $NAXIS1) && (YrefS >= 0) && (YrefS <= $NAXIS2)
-  subset XrefSS = XrefS if keep
-  subset YrefSS = YrefS if keep
-  subset RrefSS = RrefS if keep
-  subset DrefSS = DrefS if keep
-  subset MrefSS = MrefS if keep
+  set keep = (Xref_tmp >= 0) && (Xref_tmp <= $NAXIS1) && (Yref_tmp >= 0) && (Yref_tmp <= $NAXIS2)
+  foreach field $REF_FIELDS_WRP Nref Xref Yref
+    subset $field\_onchp = $field\_tmp if keep
+    delete $field\_tmp
+  end
 end
 
