Index: trunk/ippToPsps/jython/dvo.py
===================================================================
--- trunk/ippToPsps/jython/dvo.py	(revision 39970)
+++ trunk/ippToPsps/jython/dvo.py	(revision 40011)
@@ -698,5 +698,5 @@
         # P2 and DF need to use a full GPC1 exposure radius:
         myBorder = self.skychunk.BORDER_GPC1
-
+        self.logger.infoPair("batch type", myBatchType)
         # ST and FW need to use just a skycell
         if myBatchType == "ST" :
@@ -704,4 +704,5 @@
         if myBatchType == "FW" :
             myBorder = self.skychunk.BORDER_SKYCELL
+
 
         dR_border = myBorder / math.cos(math.radians(boxDim['DEC']))
Index: trunk/ippToPsps/jython/forcedwarpbatch.py
===================================================================
--- trunk/ippToPsps/jython/forcedwarpbatch.py	(revision 39970)
+++ trunk/ippToPsps/jython/forcedwarpbatch.py	(revision 40011)
@@ -424,5 +424,6 @@
         # self.selectDvoObjIDs()
         self.logger.infoPair("inserting dvo info: find imageID", "from externID")
-        imageID = self.scratchDb.getImageIDFromExternID(self.warpSkyFileID[num])
+        imageID = self.scratchDb.getImageIDFromExternIDandPhotcodeRange(self.warpSkyFileID[num],12000,12500) 
+        self.logger.infoPair("I don't like this", "it is hardwired to gpc1")
         self.logger.infoPair("updating", pspsTableName)
 
@@ -663,5 +664,6 @@
             if not self.populateForcedWarpMeta(num):
                 self.logger.infoPair ("failure for ForcedWarpMeta, skipping ", str(num))
-                continue
+                #continue
+                raise
             self.tablesToExport.append(myTable)
             
@@ -670,5 +672,6 @@
             if not self.populateForcedWarpMeasurement(num):
                 self.logger.infoPair ("skippping ForcedWarpMeasurement", str(num))
-                continue
+                #continue
+                raise
             self.tablesToExport.append(myTable)
 
Index: trunk/ippToPsps/jython/gpc1db.py
===================================================================
--- trunk/ippToPsps/jython/gpc1db.py	(revision 39970)
+++ trunk/ippToPsps/jython/gpc1db.py	(revision 40011)
@@ -225,4 +225,5 @@
                SELECT DISTINCT exp_id,class_id \
                FROM addRun join \
+               addProcessedExp using(add_id) join \
                fullForceInput on (fullForceInput.ff_id = addRun.stage_id and \
                fullForceInput.warp_id = addRun.stage_extra1) \
@@ -233,5 +234,5 @@
                JOIN camRun USING(cam_id)  \
                JOIN chipRun USING(chip_id) \
-               WHERE add_id = " + str(forcedWarpID) + ") AS a"
+               WHERE addProcessedExp.fault = 0 and add_id = " + str(forcedWarpID) + ") AS a"
 
         try:
@@ -261,4 +262,5 @@
               JOIN addRun ON(fullForceInput.ff_id = addRun.stage_id \
               AND fullForceInput.warp_id = addRun.stage_extra1) \
+              JOIN addProcessedExp using (add_id) \
               JOIN minidvodbRun USING(minidvodb_name) \
               JOIN minidvodbProcessed USING(minidvodb_id)\
@@ -277,4 +279,5 @@
               AND addRun.stage = 'fullforce' \
               AND addRun.state = 'full'\
+              AND addProcessedExp.fault = 0 \
               AND stage_id = " + str(stageID)
 
Index: trunk/ippToPsps/jython/scratchdb.py
===================================================================
--- trunk/ippToPsps/jython/scratchdb.py	(revision 39970)
+++ trunk/ippToPsps/jython/scratchdb.py	(revision 40011)
@@ -186,4 +186,29 @@
               
         return imageID 
+
+    ''' 
+    Gets imageID from extern ID and photcoderange (needed for FW, possibly for others)
+    ''' 
+    def getImageIDFromExternIDandPhotcodeRange(self, externID, r1, r2): 
+               
+        imageID = -1 
+               
+        sql1 = "SELECT IMAGE_ID FROM " + self.dvoImagesTable + " WHERE EXTERN_ID = %s" % (externID) 
+        range = " AND PHOTCODE >= " + str(r1) +" AND PHOTCODE <=" + str(r2)
+        sql = sql1 + range
+
+        self.logger.info(sql)
+        try: 
+            rs = self.executeQuery(sql)   
+            rs.first() 
+            imageID = rs.getInt(1) 
+        except: 
+            self.logger.errorPair("Unable to get imageID from dvo using", sql) 
+              
+        return imageID 
+
+
+
+
 
     '''
