Index: /trunk/ippToPsps/jython/stackbatch.py
===================================================================
--- /trunk/ippToPsps/jython/stackbatch.py	(revision 38768)
+++ /trunk/ippToPsps/jython/stackbatch.py	(revision 38769)
@@ -630,8 +630,14 @@
         # This is tricky: RA_EXT is not defined for PS1_SV3 or PS1_V5, but X_EXT is
         # XXX EAM 20140812: for PV3, update cmf output to define RA_EXT, DEC_EXT
-        sqlLine.group("a." + filter + model + "Ra",        "b.X_EXT")
-        sqlLine.group("a." + filter + model + "Dec",       "b.Y_EXT")
-        sqlLine.group("a." + filter + model + "RaErr",     "b.X_EXT_SIG") # need to modify by platescale
-        sqlLine.group("a." + filter + model + "DecErr",    "b.Y_EXT_SIG")
+        ## sqlLine.group("a." + filter + model + "Ra",        "b.X_EXT")
+        ## sqlLine.group("a." + filter + model + "Dec",       "b.Y_EXT")
+        ## sqlLine.group("a." + filter + model + "RaErr",     "b.X_EXT_SIG") # need to modify by platescale
+        ## sqlLine.group("a." + filter + model + "DecErr",    "b.Y_EXT_SIG")
+
+        # EAM 20150924: PV3 output cmfs were updated to include RA_EXT, DEC_EXT
+        sqlLine.group("a." + filter + model + "Ra",        "b.RA_EXT")
+        sqlLine.group("a." + filter + model + "Dec",       "b.DEC_EXT")
+        sqlLine.group("a." + filter + model + "RaErr",     "b.X_EXT_SIG") # apply plate-scale below
+        sqlLine.group("a." + filter + model + "DecErr",    "b.Y_EXT_SIG") # apply plate-scale below
 
         # sersic fit has an extra parameter
@@ -662,35 +668,57 @@
             self.logger.errorPair('failed sql',sql)
             raise
-        # we have (modulo signs):
-        # gRaExp  = gra  + (X_EXT - gxPos)*gPlateScale / cos(gdec)
-        # gDecExp = gdec + (Y_EXT - gyPos)*gPlateScale
+
+        ## EAM 20150924: this section is now longer needed as the cmf contains RA,DEC
+        ## # we have (modulo signs):
+        ## # gRaExp  = gra  + (X_EXT - gxPos)*gPlateScale / cos(gdec)
+        ## # gDecExp = gdec + (Y_EXT - gyPos)*gPlateScale
+        ## 
+        ## rawS  = "c." + filter + "PlateScale"
+        ## 
+        ## extR  = "a." + filter + model + "Ra"
+        ## rawR  = "b." + filter + "ra"
+        ## rawX  = "c." + filter + "xPos"
+        ## 
+        ## extD  = "a." + filter + model + "Dec"
+        ## rawD  = "b." + filter + "dec"
+        ## rawY  = "c." + filter + "yPos"
+        ## 
+        ## # dRA / dX = -PlateScale
+        ## # b.+filter+ra  - (a.+filter+model+Ra - c.+filter+xPos)*c.+filter+PlateScale / cos(+filter+dec)
+        ## # extR = rawR - (extR - rawX)*rawS / 3600.0 / cos(rawD)
+        ## 
+        ## # dDEC / dY = +PlateScale
+        ## # b.+filter+dec + (a.+filter+model+Dec - c.+filter+xPos)*c.+filter+PlateScale / cos(+filter+dec)
+        ## # extD = rawD + (extD - rawY)*rawS / 3600.0
+        ## 
+        ## # insert detection information for each filter based on the DVO contents
+        ## sqlLine = sqlUtility("UPDATE " + tablename + " AS a, StackObjectThin as b, StackObjectAttributes as c SET ")
+        ## sqlLine.group(extR, rawR + " - (" + extR + " - " + rawX + ")*" + rawS + " / 3600.0 / cos(radians(" + rawD + "))")
+        ## sqlLine.group(extD, rawD + " + (" + extD + " - " + rawY + ")*" + rawS + " / 3600.0")
+        ## field = "a." + filter + model + "RaErr"
+        ## sqlLine.group(field, field + "*" + rawS)
+        ## field = "a." + filter + model + "DecErr"
+        ## sqlLine.group(field, field + "*" + rawS)
+        ## sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a.objID = c.objID")
+        ## 
+        ## try:
+        ##     self.scratchDb.execute(sql)
+        ## except:
+        ##     self.logger.errorPair('failed sql',sql)
+        ##     raise
+
+        # EAM 20150924: update the RA and DEC Errors to be in arcsec, not pixels
+        # dRA (arcesc) = dRA (pixels) * PlateScale
+        # dDEC(arcsec) = dDEC(pixels) * PlateScale
 
         rawS  = "c." + filter + "PlateScale"
-
-        extR  = "a." + filter + model + "Ra"
-        rawR  = "b." + filter + "ra"
-        rawX  = "c." + filter + "xPos"
-
-        extD  = "a." + filter + model + "Dec"
-        rawD  = "b." + filter + "dec"
-        rawY  = "c." + filter + "yPos"
-
-        # dRA / dX = -PlateScale
-        # b.+filter+ra  - (a.+filter+model+Ra - c.+filter+xPos)*c.+filter+PlateScale / cos(+filter+dec)
-        # extR = rawR - (extR - rawX)*rawS / 3600.0 / cos(rawD)
-
-        # dDEC / dY = +PlateScale
-        # b.+filter+dec + (a.+filter+model+Dec - c.+filter+xPos)*c.+filter+PlateScale / cos(+filter+dec)
-        # extD = rawD + (extD - rawY)*rawS / 3600.0
+        extR  = "a." + filter + model + "RaErr"
+        extD  = "a." + filter + model + "DecErr"
 
         # insert detection information for each filter based on the DVO contents
-        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, StackObjectThin as b, StackObjectAttributes as c SET ")
-        sqlLine.group(extR, rawR + " - (" + extR + " - " + rawX + ")*" + rawS + " / 3600.0 / cos(radians(" + rawD + "))")
-        sqlLine.group(extD, rawD + " + (" + extD + " - " + rawY + ")*" + rawS + " / 3600.0")
-        field = "a." + filter + model + "RaErr"
-        sqlLine.group(field, field + "*" + rawS)
-        field = "a." + filter + model + "DecErr"
-        sqlLine.group(field, field + "*" + rawS)
-        sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a.objID = c.objID")
+        sqlLine = sqlUtility("UPDATE " + tablename + " AS a, StackObjectAttributes as c SET ")
+        sqlLine.group(extR, extR + "*" + rawS)
+        sqlLine.group(extD, extD + "*" + rawS)
+        sql = sqlLine.makeEquals("WHERE a.objID = c.objID")
 
         try:
