Index: /tags/ipp-20100701/ippTools/share/chiptool_listrun.sql
===================================================================
--- /tags/ipp-20100701/ippTools/share/chiptool_listrun.sql	(revision 28629)
+++ /tags/ipp-20100701/ippTools/share/chiptool_listrun.sql	(revision 28630)
@@ -21,5 +21,6 @@
     rawExp.exp_time,
     rawExp.magicked AS raw_magicked,
-    magicDSRun.state AS dsRun_state
+    magicDSRun.state AS dsRun_state,
+    IFNULL(magicDSRun.magic_ds_id, 0) AS magic_ds_id
 FROM chipRun
 JOIN rawExp
Index: /tags/ipp-20100701/ippTools/share/chiptool_processedimfile.sql
===================================================================
--- /tags/ipp-20100701/ippTools/share/chiptool_processedimfile.sql	(revision 28629)
+++ /tags/ipp-20100701/ippTools/share/chiptool_processedimfile.sql	(revision 28630)
@@ -30,5 +30,5 @@
     rawImfile.burntool_state,
     magicDSRun.state AS dsRun_state,
-    magicDSRun.magic_ds_id
+    IFNULL(magicDSRun.magic_ds_id, 0) AS magic_ds_id
 FROM chipRun
 JOIN chipImfile
Index: /tags/ipp-20100701/ippTools/share/difftool_setskyfiletoupdate.sql
===================================================================
--- /tags/ipp-20100701/ippTools/share/difftool_setskyfiletoupdate.sql	(revision 28629)
+++ /tags/ipp-20100701/ippTools/share/difftool_setskyfiletoupdate.sql	(revision 28630)
@@ -12,4 +12,4 @@
     -- don't queue update if the associated magicDSFile still exists
     AND (diffRun.magicked = 0 
-      OR (magicDSRun.state = 'cleaned' OR magicDSRun.state = 'new')
+      OR (magicDSRun.state = 'cleaned' OR magicDSRun.state = 'new' OR magicDSRun.state IS NULL)
             AND magicDSFile.component IS NULL)
Index: /tags/ipp-20100701/ippTools/share/warptool_listrun.sql
===================================================================
--- /tags/ipp-20100701/ippTools/share/warptool_listrun.sql	(revision 28629)
+++ /tags/ipp-20100701/ippTools/share/warptool_listrun.sql	(revision 28630)
@@ -10,5 +10,7 @@
     rawExp.ra,
     rawExp.decl,
-    rawExp.exp_time
+    rawExp.exp_time,
+    magicDSRun.state AS dsRun_state,
+    IFNULL(magicDSRun.magic_ds_id, 0) AS magic_ds_id
 FROM warpRun
 JOIN fakeRun
@@ -20,2 +22,4 @@
 JOIN rawExp
     ON chipRun.exp_id  = rawExp.exp_id
+LEFT JOIN magicDSRun
+    ON stage = 'warp' AND stage_id = warp_id
Index: /tags/ipp-20100701/ippTools/share/warptool_setskyfiletoupdate.sql
===================================================================
--- /tags/ipp-20100701/ippTools/share/warptool_setskyfiletoupdate.sql	(revision 28629)
+++ /tags/ipp-20100701/ippTools/share/warptool_setskyfiletoupdate.sql	(revision 28630)
@@ -11,4 +11,4 @@
     AND (warpSkyfile.data_state = 'cleaned')
     AND (warpRun.magicked = 0
-      OR (magicDSRun.state = 'cleaned' OR magicDSRun.state = 'new')
+      OR (magicDSRun.state = 'cleaned' OR magicDSRun.state = 'new' OR magicDSRun.state IS NULL)
       AND magicDSFile.component IS NULL)
Index: /tags/ipp-20100701/ippTools/share/warptool_warped.sql
===================================================================
--- /tags/ipp-20100701/ippTools/share/warptool_warped.sql	(revision 28629)
+++ /tags/ipp-20100701/ippTools/share/warptool_warped.sql	(revision 28630)
@@ -12,5 +12,7 @@
     rawExp.ra,
     rawExp.decl,
-    rawExp.exp_time
+    rawExp.exp_time,
+    magicDSRun.state AS dsRun_state,
+    IFNULL(magicDSRun.magic_ds_id, 0) AS magic_ds_id
 FROM warpRun
 JOIN warpSkyfile
@@ -26,2 +28,4 @@
 JOIN rawExp
     ON chipRun.exp_id  = rawExp.exp_id
+LEFT JOIN magicDSRun
+    ON stage = 'warp' AND stage_id = warp_id
Index: /tags/ipp-20100701/ippTools/src/pstamptool.c
===================================================================
--- /tags/ipp-20100701/ippTools/src/pstamptool.c	(revision 28629)
+++ /tags/ipp-20100701/ippTools/src/pstamptool.c	(revision 28630)
@@ -738,4 +738,5 @@
     PXOPT_COPY_S64(config->args, where, "-job_id", "job_id", "==");
     PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "==");
+    PXOPT_COPY_S64(config->args, where, "-dep_id", "dep_id", "==");
     PXOPT_COPY_S64(config->args, where, "-fault",  "fault", "==");
 
@@ -891,4 +892,5 @@
     PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "==");
     PXOPT_COPY_S64(config->args, where, "-dep_id", "dep_id", "==");
+    PXOPT_COPY_S32(config->args, where, "-fault",  "pstampJob.fault", "==");
     PXOPT_COPY_STR(config->args, where, "-state",  "pstampJob.state", "==");
 
Index: /tags/ipp-20100701/ippTools/src/pstamptoolConfig.c
===================================================================
--- /tags/ipp-20100701/ippTools/src/pstamptoolConfig.c	(revision 28629)
+++ /tags/ipp-20100701/ippTools/src/pstamptoolConfig.c	(revision 28630)
@@ -146,4 +146,5 @@
     psMetadataAddS64(listjobArgs, PS_LIST_TAIL, "-req_id", 0,          "select by request ID", 0);
     psMetadataAddS64(listjobArgs, PS_LIST_TAIL, "-job_id", 0,          "select by job ID", 0);
+    psMetadataAddS64(listjobArgs, PS_LIST_TAIL, "-dep_id", 0,          "select by dependent ID", 0);
     psMetadataAddS16(listjobArgs, PS_LIST_TAIL, "-fault", 0,           "select by fault", 0);
     psMetadataAddU64(listjobArgs, PS_LIST_TAIL, "-limit",  0,          "limit result set to N items", 0);
@@ -163,5 +164,6 @@
     psMetadataAddS64(updatejobArgs, PS_LIST_TAIL, "-job_id", 0,            "job_id of jobs to update", 0);
     psMetadataAddS64(updatejobArgs, PS_LIST_TAIL, "-dep_id", 0,            "dep_id of jobs to update", 0);
-    psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-state", 0,            "current state of jobs to update", 0);
+    psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-state", 0,             "current state of jobs to update", 0);
+    psMetadataAddS16(updatejobArgs, PS_LIST_TAIL, "-fault", 0,             "current value for job fault", 0);
     psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-set_state", 0,            "new state", NULL);
     psMetadataAddS16(updatejobArgs, PS_LIST_TAIL, "-set_fault", 0,            "new result", 0);
Index: /tags/ipp-20100701/ippTools/src/stacktool.c
===================================================================
--- /tags/ipp-20100701/ippTools/src/stacktool.c	(revision 28629)
+++ /tags/ipp-20100701/ippTools/src/stacktool.c	(revision 28630)
@@ -78,8 +78,8 @@
         MODECASE(STACKTOOL_MODE_ADDSUMSKYFILE,         addsumskyfileMode);
         MODECASE(STACKTOOL_MODE_SUMSKYFILE,            sumskyfileMode);
-	MODECASE(STACKTOOL_MODE_SASSSKYFILE,            sassskyfileMode);
+        MODECASE(STACKTOOL_MODE_SASSSKYFILE,            sassskyfileMode);
         MODECASE(STACKTOOL_MODE_REVERTSUMSKYFILE,      revertsumskyfileMode);
-	MODECASE(STACKTOOL_MODE_TOSUMMARY,             tosummaryMode);
-	MODECASE(STACKTOOL_MODE_ADDSUMMARY,            addsummaryMode);
+        MODECASE(STACKTOOL_MODE_TOSUMMARY,             tosummaryMode);
+        MODECASE(STACKTOOL_MODE_ADDSUMMARY,            addsummaryMode);
         MODECASE(STACKTOOL_MODE_PENDINGCLEANUPRUN,     pendingcleanuprunMode);
         MODECASE(STACKTOOL_MODE_PENDINGCLEANUPSKYFILE, pendingcleanupskyfileMode);
@@ -155,8 +155,8 @@
 
     printf("%" PRId64 " %s %s %s %s\n",psMetadataLookupS64(NULL,row,"sass_id"),
-	   psMetadataLookupStr(NULL,row,"data_group"),
-	   psMetadataLookupStr(NULL,row,"tess_id"),
-	   psMetadataLookupStr(NULL,row,"filter"),
-	   psMetadataLookupStr(NULL,row,"projection_cell"));
+           psMetadataLookupStr(NULL,row,"data_group"),
+           psMetadataLookupStr(NULL,row,"tess_id"),
+           psMetadataLookupStr(NULL,row,"filter"),
+           psMetadataLookupStr(NULL,row,"projection_cell"));
 
     if (psMetadataLookupS64(NULL,row,"sass_id") == PS_MAX_S64) {
@@ -170,12 +170,12 @@
     psMetadataAddStr(outrow,PS_LIST_TAIL,"filter",PS_META_REPLACE,"",psMetadataLookupStr(NULL,row,"filter"));
     psMetadataAddStr(outrow,PS_LIST_TAIL,"projection_cell",PS_META_REPLACE,"",
-		     psMetadataLookupStr(NULL,row,"projection_cell"));
+                     psMetadataLookupStr(NULL,row,"projection_cell"));
   }
   printf("%" PRId64 " %s %s %s %s\n",psMetadataLookupS64(NULL,outrow,"sass_id"),
-	 psMetadataLookupStr(NULL,outrow,"data_group"),
-	 psMetadataLookupStr(NULL,outrow,"tess_id"),
-	 psMetadataLookupStr(NULL,outrow,"filter"),
-	 psMetadataLookupStr(NULL,outrow,"projection_cell"));
-  
+         psMetadataLookupStr(NULL,outrow,"data_group"),
+         psMetadataLookupStr(NULL,outrow,"tess_id"),
+         psMetadataLookupStr(NULL,outrow,"filter"),
+         psMetadataLookupStr(NULL,outrow,"projection_cell"));
+
 
   psFree(output);
@@ -184,8 +184,8 @@
   return(sassRow);
 }
-      
-      
-  
-					      
+
+
+
+
 
 
@@ -239,4 +239,5 @@
     PXOPT_COPY_F32(config->args,  where, "-select_zpt_obs_min",        "camProcessedExp.zpt_obs", ">=");
     PXOPT_COPY_F32(config->args,  where, "-select_zpt_obs_max",        "camProcessedExp.zpt_obs", "<=");
+    PXOPT_COPY_F32(config->args,  where, "-select_astrom",             "sqrt(POWER(camProcessedExp.sigma_ra, 2) + POWER(camProcessedExp.sigma_dec, 2))", "<=");
 
     PXOPT_COPY_STR(config->args,  where, "-select_exp_type",           "rawExp.exp_type", "==");
@@ -483,48 +484,48 @@
         psFree(run);
 
-	//CZW Add an association entry here.
-	// Define the requested association, and insert it if it doesn't already exist
-	stackAssociationRow *association = pxStackAssociationDefine(config,stack_id);
-	psS64 sass_id;
-	if (!association->sass_id) {
-	  psTrace("stacktool.association",2,"No required Association found. Adding.");
-
-	  if (!stackAssociationInsertObject(config->dbh,association)) {
-	    if (!psDBRollback(config->dbh)) {
-	      psError(PS_ERR_UNKNOWN, false, "database error");
-	    }
-	    psError(PS_ERR_UNKNOWN, false, "database error");
-	    psFree(output);
-	    psFree(run);
-	    psFree(insert);
-	    psFree(list);
-	    psFree(association);
-	    if (!psDBRollback(config->dbh)) {
-	      psError(PS_ERR_UNKNOWN, false, "database error");
-	    }
-	    return(false);
-	  }
-	  sass_id = psDBLastInsertID(config->dbh);
-	  association->sass_id = sass_id;
-	}
-	// Insert the map entry for this row.
-	stackAssociationMapRow *maprow = stackAssociationMapRowAlloc(sass_id,stack_id);
-	if (!stackAssociationMapInsertObject(config->dbh,maprow)) {
-	  if (!psDBRollback(config->dbh)) {
-	    psError(PS_ERR_UNKNOWN, false, "database error");
-	  }
-	  psError(PS_ERR_UNKNOWN, false, "database error");
-	  psFree(output);
-	  psFree(run);
-	  psFree(insert);
-	  psFree(list);
-	  psFree(association);
-	  if (!psDBRollback(config->dbh)) {
-	    psError(PS_ERR_UNKNOWN, false, "database error");
-	  }
-	  return(false);
-	}
-	
-	
+        //CZW Add an association entry here.
+        // Define the requested association, and insert it if it doesn't already exist
+        stackAssociationRow *association = pxStackAssociationDefine(config,stack_id);
+        psS64 sass_id;
+        if (!association->sass_id) {
+          psTrace("stacktool.association",2,"No required Association found. Adding.");
+
+          if (!stackAssociationInsertObject(config->dbh,association)) {
+            if (!psDBRollback(config->dbh)) {
+              psError(PS_ERR_UNKNOWN, false, "database error");
+            }
+            psError(PS_ERR_UNKNOWN, false, "database error");
+            psFree(output);
+            psFree(run);
+            psFree(insert);
+            psFree(list);
+            psFree(association);
+            if (!psDBRollback(config->dbh)) {
+              psError(PS_ERR_UNKNOWN, false, "database error");
+            }
+            return(false);
+          }
+          sass_id = psDBLastInsertID(config->dbh);
+          association->sass_id = sass_id;
+        }
+        // Insert the map entry for this row.
+        stackAssociationMapRow *maprow = stackAssociationMapRowAlloc(sass_id,stack_id);
+        if (!stackAssociationMapInsertObject(config->dbh,maprow)) {
+          if (!psDBRollback(config->dbh)) {
+            psError(PS_ERR_UNKNOWN, false, "database error");
+          }
+          psError(PS_ERR_UNKNOWN, false, "database error");
+          psFree(output);
+          psFree(run);
+          psFree(insert);
+          psFree(list);
+          psFree(association);
+          if (!psDBRollback(config->dbh)) {
+            psError(PS_ERR_UNKNOWN, false, "database error");
+          }
+          return(false);
+        }
+
+
         // Create a suitable insertion query for this run
         psString thisInsert = psStringCopy(insert);
@@ -685,5 +686,5 @@
 
     //CZW Add an association entry here.
-    
+
     // insert the stackInputSkyfile rows
     psListIterator *iter = psListIteratorAlloc(warp_ids->data.list, 0, false);
@@ -1348,5 +1349,5 @@
 static bool tosummaryMode(pxConfig *config) {
   PS_ASSERT_PTR_NON_NULL(config, NULL);
-  
+
   psMetadata *where = psMetadataAlloc();
   PXOPT_COPY_S64(config->args, where, "-stack_id",    "stackSumSkyfile.warp_id", "==");
@@ -1357,10 +1358,10 @@
   pxAddLabelSearchArgs (config, where, "-label",   "stackRun.label", "LIKE");
   pxAddLabelSearchArgs (config, where, "-data_group",   "stackRun.data_group", "LIKE");
-  
+
   PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
 
   PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
   PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
-  
+
   // find all rawImfiles matching the default query
   psString query = pxDataGet("stacktool_tosummary.sql");
@@ -1380,5 +1381,5 @@
     return false;
   }
-  
+
   psFree(where);
 
@@ -1408,5 +1409,5 @@
       psError(PXTOOLS_ERR_PROG, false, "unknown error");
     }
-    
+
     return false;
   }
@@ -1416,5 +1417,5 @@
     return true;
   }
-  
+
   if (psArrayLength(output)) {
     // negative simple so the default is true
@@ -1425,5 +1426,5 @@
     }
   }
-  
+
   psFree(output);
   return(true);
@@ -1447,5 +1448,5 @@
   }
   psS64 numUpdated = psDBAffectedRows(config->dbh);
-  
+
   if (numUpdated != 1) {
     psError(PS_ERR_UNKNOWN, false, "should have affected 1 row");
@@ -1453,9 +1454,9 @@
     return false;
   }
-  
+
   psFree(query);
 
   // Print anything here?
-  
+
   return(true);
 }
@@ -1471,5 +1472,5 @@
     PXOPT_COPY_S64(config->args, where, "-stack_id", "stackRun.stack_id", "==");
     PXOPT_COPY_S64(config->args, where, "-sass_id", "stackAssociationMap.sass_id", "==");
-    
+
     pxAddLabelSearchArgs (config, where, "-label", "stackRun.label", "==");
 
Index: /tags/ipp-20100701/ippTools/src/stacktoolConfig.c
===================================================================
--- /tags/ipp-20100701/ippTools/src/stacktoolConfig.c	(revision 28629)
+++ /tags/ipp-20100701/ippTools/src/stacktoolConfig.c	(revision 28630)
@@ -90,4 +90,5 @@
     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_zpt_obs_min", 0, "define min zero point", NAN);
     psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_zpt_obs_max", 0, "define max zero point", NAN);
+    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_astrom", 0, "define max astrometry rms", NAN);
     psMetadataAddS32(definebyqueryArgs, PS_LIST_TAIL, "-random", 0, "use this number of random elements", 0);
     psMetadataAddS32(definebyqueryArgs, PS_LIST_TAIL, "-min_num", 0, "minimum number of inputs", 0);
@@ -237,6 +238,6 @@
     psMetadataAddS64(addsummaryArgs, PS_LIST_TAIL, "-sass_id", 0,      "set stack Association ID", 0);
     psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-projection_cell", 0, "set projection cell", NULL);
-    psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-path_base", 0,     "set summary path base", NULL);		     
-    
+    psMetadataAddStr(addsummaryArgs, PS_LIST_TAIL, "-path_base", 0,     "set summary path base", NULL);
+
     // -pendingcleanuprun
     psMetadata *pendingcleanuprunArgs = psMetadataAlloc();
