Index: /branches/eam_branches/ipp-20140717/ippToPsps/jython/stackbatch.py
===================================================================
--- /branches/eam_branches/ipp-20140717/ippToPsps/jython/stackbatch.py	(revision 37222)
+++ /branches/eam_branches/ipp-20140717/ippToPsps/jython/stackbatch.py	(revision 37223)
@@ -132,5 +132,5 @@
        skycellName = self.getKeyValue(header, 'SKYCELL')
 
-       # XXX EAM : I am hardwiring the parsing logic for RINGS vs LOCAL
+       # XXX EAM 20140812 : I am hardwiring the parsing logic for RINGS vs LOCAL
        if tessName == 'RINGS.V3':
            # skycell is, eg "skycell.1133.081"
@@ -147,7 +147,4 @@
        if self.analysisVer[-1] == 'M':
            self.analysisVer = self.analysisVer[:-1]
-
-       ### XXX TEST
-       self.analysisVer = 30000
 
        # delete PSPS tables
@@ -272,7 +269,9 @@
 
         sql = sqlLine.make(") VALUES ( ", ")")
-        print "stack meta SQL: " + sql 
-
-        self.scratchDb.execute(sql)
+
+        try: self.scratchDb.execute(sql)
+        except:
+            self.logger.error("problem with SQL: " + sql)
+            raise
 
         self.tablesToExport.append(tablename)
@@ -504,10 +503,7 @@
 
         header  = self.headerSet[filter]
-        print "exptime in header: " + header['EXPTIME']
-
+
+        # model calibrated magnitude = instrumental magnitude + 2.5*log10(exptime) + ZP (added below from dvoDetectionTable)
         magtime = "%.5f" % (2.5*math.log10(float(header['EXPTIME'])))
-        exptime = self.getKeyFloat(header, "%.5f", "EXPTIME")
-
-        print "magtime: " + magtime + ", exptime: " + exptime
 
         sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + filter + "SkyChip_xfit AS b SET")
@@ -531,5 +527,6 @@
         # I have raExp = X_EXT
 
-        # XXX this is tricky: RA_EXT is not defined, but X_EXT is...
+        # 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")
@@ -548,9 +545,12 @@
         sql = sqlLine.makeEquals("WHERE a." + filter + "ippDetectID = b.IPP_IDET AND b.MODEL_TYPE = '" + ippModelType + "'")
 
-        print sql
-        self.scratchDb.execute(sql)
-
-        # insert detection information for each filter based on the DVO contents
-        # XXX since I already have extracted StackObjectRaw, this is probably faster using that table:
+        try: self.scratchDb.execute(sql)
+        except:
+            self.logger.error("problem with SQL: " + sql)
+            raise
+
+        # insert detection information for each filter based on the
+        # DVO contents.  Since I already have extracted
+        # StackObjectRaw, this is probably faster using that table:
         sqlLine = sqlUtility("UPDATE " + tablename + " AS a, " + self.scratchDb.dvoDetectionTable + " as b SET")
         sqlLine.group("a." + filter + model + "Mag",       "a." + filter + model + "Mag + b.zp")
@@ -658,6 +658,8 @@
         sql = sqlLine.makeEquals("WHERE a." + filter + "ippDetectID = b.IPP_IDET")
 
-        print "SQL: " + sql
-        self.scratchDb.execute(sql)
+        try: self.scratchDb.execute(sql)
+        except:
+            self.logger.error("problem with SQL: " + sql)
+            raise
 
         # modify petMag to apply the zero point
@@ -666,7 +668,5 @@
         sql = sqlLine.makeEquals("WHERE a.objID = b.objID AND a." + filter + "ippDetectID = b.ippDetectID")
 
-        self.logger.infoPair('sql', sql)     
-        try:
-            self.scratchDb.execute(sql)
+        try: self.scratchDb.execute(sql)
         except:
             self.logger.errorPair('failed sql',sql)
@@ -759,6 +759,8 @@
         sql = sqlLine.makeEquals("")
 
-        print "SQL: " + sql
-        self.scratchDb.execute(sql)
+        try: self.scratchDb.execute(sql)
+        except:
+            self.logger.errorPair('failed sql',sql)
+            return
 
         # set the flux values from the cmf file
@@ -959,7 +961,9 @@
 
         sql = sqlLine.makeRaw(") SELECT DISTINCT ", "FROM " + self.scratchDb.dvoDetectionTable + whereClause)
-        print "SQL: " + sql
-
-        self.scratchDb.execute(sql)
+
+        try: self.scratchDb.execute(sql)
+        except:
+            self.logger.errorPair('failed sql',sql)
+            return
 
     '''
@@ -984,42 +988,9 @@
         sql  = "INSERT INTO " + table + " (" + fields + ") "
         sql += "SELECT " + fields + " FROM " + mainTable
-        print "SQL: " + sql
-        self.scratchDb.execute(sql)
-
-    '''
-    Updates provided table with DVO IDs from DVO table
-    '''
-    ## XX def updateDvoIDs(self, table):
-    ## XX     self.logger.infoPair("getting imageID for ","filter")
-    ## XX     imageID = self.scratchDb.getImageIDFromExternID(self.header['IMAGEID'])
-    ## XX     self.logger.infoPair("obtained","imageID")
-    ## XX     self.logger.debug("Updating table '" + table + "' with DVO IDs...")
-    ## XX     sql = "UPDATE " + table + " AS a, " + self.scratchDb.dvoDetectionTable + " AS b SET \
-    ## XX            a.ippObjID = b.ippObjID, \
-    ## XX            a.stackDetectID = b.detectID, \
-    ## XX            a.objID = b.objID \
-    ## XX            WHERE a.ippDetectID = b.ippDetectID \
-    ## XX            AND b.imageID = " + str(imageID)
-    ## XX     self.scratchDb.execute(sql)
-    
-    '''
-    Updates Flags
-    '''
-    ## XX def updateDvoIDsAndFlags(self, table):
-    ## XX     self.logger.infoPair("getting","imageID")
-    ## XX     imageID = self.scratchDb.getImageIDFromExternID(self.header['IMAGEID'])
-    ## XX     self.logger.infoPair("obtained","imageID")
-    ## XX     self.logger.debug("Updating table '" + table + "' with DVO IDs...")
-    ## XX     sql = "UPDATE " + table + " AS a, " + self.scratchDb.dvoDetectionTable + " AS b SET \
-    ## XX            a.ippObjID = b.ippObjID, \
-    ## XX            a.stackDetectID = b.detectID, \
-    ## XX            a.objID = b.objID, \
-    ## XX            a.infoFlag = b.flags << 45 | a.infoFlag,  \
-    ## XX            a.primaryF = ((b.flags & 0x10000) >> 16 ) \
-    ## XX            WHERE a.ippDetectID = b.ippDetectID \
-    ## XX            AND b.imageID = " + str(imageID)
-    ## XX 
-    ## XX     print "update dvo sql: ", sql
-    ## XX     self.scratchDb.execute(sql)
+
+        try: self.scratchDb.execute(sql)
+        except:
+            self.logger.errorPair('failed sql',sql)
+            return
     
     '''
@@ -1129,5 +1100,4 @@
             for table in tables:
               
-                # print "import smf table ", table
                 match = re.match(tableRE, table.name)
                 if not match: continue
@@ -1137,6 +1107,4 @@
                 table = stilts.tpipe(table, cmd='explodeall')
                   
-                # print "read smf table ", table
-                
                 # drop any previous tables before import
                 self.scratchDb.dropTable(filter + table.name)
@@ -1147,5 +1115,4 @@
                 table = stilts.tpipe(table, cmd='replaceval -Infinity null *')
                 table = stilts.tpipe(table, cmd='replaceval Infinity null *')
-                # print "cleaned up values ", table
                   
                 try:
