Index: /branches/eam_branches/ipp-20120627/extsrc/gpcsw/gpcsrc/fits/burntool/persistio.c
===================================================================
--- /branches/eam_branches/ipp-20120627/extsrc/gpcsw/gpcsrc/fits/burntool/persistio.c	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/extsrc/gpcsw/gpcsrc/fits/burntool/persistio.c	(revision 34241)
@@ -132,4 +132,5 @@
 /* Assess the clustering of all the streaks */
    for(i=0; i<MAXSIZE; i++) xusage[i] = 0;
+   for(i=0; i<MAXSIZE; i++) boxid[i] = -1;
    for(k=0; k<nbox; k++) {
       if(box[k].exfit >= MAXSIZE-1) continue;
@@ -188,4 +189,8 @@
 	 for(jp=kp+1; jp<n; jp++) {
 	    j = boxid[jp];
+	    /* CZW: Since I added the initialization statement above, */
+	    /*      any box with boxid == -1 hasn't been set, and */
+	    /*      therefore needs to be dropped, I think. */
+	    if ((k < 0)||(j < 0)) { continue; }
 	    if(ABS(yctr[jp]-yctr[kp]) <= DIFFERENT_STREAK) {
 /* Merge k into j, trash k from further consideration */
Index: /branches/eam_branches/ipp-20120627/ippMonitor/def/histogramBackgroundImage.d
===================================================================
--- /branches/eam_branches/ipp-20120627/ippMonitor/def/histogramBackgroundImage.d	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippMonitor/def/histogramBackgroundImage.d	(revision 34241)
@@ -16,4 +16,5 @@
 FIELD rawExp.camera,             10, %s,     Camera, 	      restrict
 FIELD rawExp.dateobs,            19, %T,     Date/Time,       restrict
+FIELD camRun.label,              10, %s,     Label,           restrict
 FIELD rawExp.ra,                  8, %C,     RA, 	      restrict
 FIELD rawExp.decl,                8, %C,     DEC, 	      restrict
Index: /branches/eam_branches/ipp-20120627/ippMonitor/def/histogramCamProcessedExpImage.d
===================================================================
--- /branches/eam_branches/ipp-20120627/ippMonitor/def/histogramCamProcessedExpImage.d	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippMonitor/def/histogramCamProcessedExpImage.d	(revision 34241)
@@ -16,4 +16,5 @@
 FIELD rawExp.camera,             10, %s,     Camera, 	      restrict
 FIELD rawExp.dateobs,            19, %T,     Date/Time,       restrict
+FIELD camRun.label,              10, %s,     Label,           restrict
 FIELD rawExp.ra,                  8, %C,     RA, 	      restrict
 FIELD rawExp.decl,                8, %C,     DEC, 	      restrict
Index: /branches/eam_branches/ipp-20120627/ippMonitor/def/histogramZptObsImage.d
===================================================================
--- /branches/eam_branches/ipp-20120627/ippMonitor/def/histogramZptObsImage.d	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippMonitor/def/histogramZptObsImage.d	(revision 34241)
@@ -16,4 +16,5 @@
 FIELD rawExp.camera,             10, %s,     Camera, 	      restrict
 FIELD rawExp.dateobs,            19, %T,     Date/Time,       restrict
+FIELD camRun.label,              10, %s,     Label,           restrict
 FIELD rawExp.ra,                  8, %C,     RA, 	      restrict
 FIELD rawExp.decl,                8, %C,     DEC, 	      restrict
Index: /branches/eam_branches/ipp-20120627/ippMonitor/def/scatterPlotAirMassFwhmImage.d
===================================================================
--- /branches/eam_branches/ipp-20120627/ippMonitor/def/scatterPlotAirMassFwhmImage.d	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippMonitor/def/scatterPlotAirMassFwhmImage.d	(revision 34241)
@@ -17,4 +17,5 @@
 FIELD rawExp.camera,             10, %s,     Camera, 	      restrict
 FIELD rawExp.dateobs,            19, %T,     Date/Time,       restrict
+FIELD camRun.label,              10, %s,     Label,           restrict
 FIELD rawExp.ra,                  8, %C,     RA, 	      restrict
 FIELD rawExp.decl,                8, %C,     DEC, 	      restrict
Index: /branches/eam_branches/ipp-20120627/ippMonitor/def/simplePlotCamImage.d
===================================================================
--- /branches/eam_branches/ipp-20120627/ippMonitor/def/simplePlotCamImage.d	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippMonitor/def/simplePlotCamImage.d	(revision 34241)
@@ -14,4 +14,5 @@
 FIELD rawExp.camera,             10, %s,     Camera, 	      restrict
 FIELD rawExp.dateobs,            19, %T,     Date/Time,       restrict
+FIELD camRun.label,              10, %s,     Label, 	      restrict
 FIELD rawExp.ra,                  8, %C,     RA, 	      restrict
 FIELD rawExp.decl,                8, %C,     DEC, 	      restrict
Index: /branches/eam_branches/ipp-20120627/ippMonitor/def/simplePlotChipImage.d
===================================================================
--- /branches/eam_branches/ipp-20120627/ippMonitor/def/simplePlotChipImage.d	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippMonitor/def/simplePlotChipImage.d	(revision 34241)
@@ -13,4 +13,5 @@
 FIELD rawExp.camera,             10, %s,     Camera, 	      restrict
 FIELD rawExp.dateobs,            19, %T,     Date/Time,       restrict
+FIELD chipRun.label,              10, %s,     Label, 	      restrict
 FIELD rawExp.ra,                  8, %C,     RA, 	      restrict
 FIELD rawExp.decl,                8, %C,     DEC, 	      restrict
Index: /branches/eam_branches/ipp-20120627/ippMonitor/raw/czartool_labels.php
===================================================================
--- /branches/eam_branches/ipp-20120627/ippMonitor/raw/czartool_labels.php	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippMonitor/raw/czartool_labels.php	(revision 34241)
@@ -168,5 +168,5 @@
 echo "<tr><td>Postage stamp server status</td><td><a href=\"http://pstamp.ipp.ifa.hawaii.edu/status.php\"><font color=\"blue\">here</font></a></td></tr>";
 echo "<tr><td>Documentation</td><td><a href=\"http://svn.pan-starrs.ifa.hawaii.edu/trac/ipp/wiki/Processing\"><font color=\"blue\">here</font></a></td></tr>";
-echo "<tr><td>Cluster load</td><td><a href=\"http://ganglia.pan-starrs.ifa.hawaii.edu/?r=hour&s=descending&hc=6&c=IPP%2520Production\"><font color=\"blue\">here</font></a> <a href=\"http://ganglia.pan-starrs.ifa.hawaii.edu/?m=cpu_report&r=hour&s=by%2520name&c=IPP+Production&h=&sh=1&hc=8&z=small\"><font color=\"blue\">cpu_report</font></a></td></tr>";
+echo "<tr><td>Cluster load</td><td><a href=\"http://ganglia.pan-starrs.ifa.hawaii.edu/?r=hour&s=descending&hc=6&c=IPP%2520Production\"><font color=\"blue\">here</font></a> <a href=\"http://ganglia.pan-starrs.ifa.hawaii.edu/?m=cpu_report&r=hour&s=by%2520name&c=IPP+Production&h=&sh=1&hc=8&z=small\"><font color=\"blue\">cpu_report</font></a> <a href=\"http://ganglia.pan-starrs.ifa.hawaii.edu/?m=mem_report&r=hour&s=by%2520name&c=IPP+Production&h=&sh=1&hc=8&z=small\"><font color=\"blue\">mem_report</font></a></td></tr>";
 echo "<tr><td>Who's using the cluster?</td><td><a href=\"http://ippmonitor.ipp.ifa.hawaii.edu/ippMonitor/clusterMonitor/top.html\"><font color=\"blue\">here</font></a></td></tr>";
 echo "<tr><td>Files monitor</td><td><a href=\"http://ippmonitor.ipp.ifa.hawaii.edu/diskMonitor\"><font color=\"blue\">here</font></a></td></tr>";
Index: /branches/eam_branches/ipp-20120627/ippScripts/scripts/nightly_science.pl
===================================================================
--- /branches/eam_branches/ipp-20120627/ippScripts/scripts/nightly_science.pl	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippScripts/scripts/nightly_science.pl	(revision 34241)
@@ -1006,4 +1006,29 @@
 	$cmd .= " -set_reduction NIGHTLY_STACK ";
     }
+    if (defined($science_config{$target}{ADDITIONAL_STACK_LABEL})) {
+	# Grab list of skycells
+	my $skycell_select = '';
+	{
+	    my %skycells = ();
+	    my $warpcmd = "$warptool -warped -label $label -data_group $data_group  -dbname $dbname";
+	    my ($success, $error_code, $full_buf, $stdout_buf, $stderr_buf) = 
+		run(command => $warpcmd, verbose => $verbose);
+	    unless($success) {
+		$error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
+		&my_die("Unabel to perform warptool -warped to determine skycell_ids: $error_code",$target);
+	    }
+	    my $runs = $mdcParser->parse_list(join "", @$stdout_buf) or
+		&my_die("Unabel to parse warptool -warped to determine skycell_ids: $error_code",$target);
+	    if ($#{ $runs } != -1) {
+		for my $warp (@$runs) {
+		    $skycells{$warp->{skycell_id}} = 1;
+		}
+		foreach my $skycell (sort (keys (%skycells))) {
+		    $skycell_select .= " -skycell $skycell ";
+		}
+		$cmd .= " -select_label $science_config{$target}{ADDITIONAL_STACK_LABEL} $skycell_select ";
+	    }
+	}
+    }
     $cmd .= " $select ";
     if ($debug == 1) {
Index: /branches/eam_branches/ipp-20120627/ippScripts/scripts/skycalibration.pl
===================================================================
--- /branches/eam_branches/ipp-20120627/ippScripts/scripts/skycalibration.pl	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippScripts/scripts/skycalibration.pl	(revision 34241)
@@ -134,5 +134,5 @@
 my $file;
 if (!$singlefilter) {
-    $file = $ipprc->filename('PSPHOT.STACK.OUTPUT', "$path_base.stk", $stack_id);
+    $file = $ipprc->filename('PSPHOT.STACK.OUTPUT', $path_base, $stack_id);
     if (! $ipprc->file_resolve($file)) {
         # XXX: Beginning of section that can be removed eventually
Index: /branches/eam_branches/ipp-20120627/ippToPsps/config/OB/tables.vot
===================================================================
--- /branches/eam_branches/ipp-20120627/ippToPsps/config/OB/tables.vot	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippToPsps/config/OB/tables.vot	(revision 34241)
@@ -75,207 +75,207 @@
         <DESCRIPTION>total number of detection measurements in all filters</DESCRIPTION>
       </FIELD>
-      <FIELD name="raMean" arraysize="1" datatype="double" unit="degree">
-        <DESCRIPTION> mean RA of object</DESCRIPTION>
-      </FIELD>
-      <FIELD name="decMean" arraysize="1" datatype="double" unit="degree">
-        <DESCRIPTION> mean DEC of object</DESCRIPTION>
-      </FIELD>
-      <FIELD name="raMeanErr" arraysize="1" datatype="float" unit="arcsec">
-        <DESCRIPTION> estimated error in raMean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="decMeanErr" arraysize="1" datatype="float" unit="arcsec">
-        <DESCRIPTION> estimated error in decMean</DESCRIPTION>
+      <FIELD name="gStackPSFFluxErr" arraysize="1" datatype="double" unit="mag">
+        <DESCRIPTION> estimated error in g stack psf flux</DESCRIPTION>
+      </FIELD>
+      <FIELD name="rStackPSFFluxErr" arraysize="1" datatype="double" unit="mag">
+        <DESCRIPTION> estimated error in r stack psf flux</DESCRIPTION>
+      </FIELD>
+      <FIELD name="iStackPSFFluxErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error in i stack psf flux</DESCRIPTION>
+      </FIELD>
+      <FIELD name="zStackPSFFluxErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error in z stack psf flux</DESCRIPTION>
       </FIELD>
       <FIELD name="ng" arraysize="1" datatype="short" unit="unknown">
         <DESCRIPTION>number of measures in g filter</DESCRIPTION>
       </FIELD>
-      <FIELD name="gMeanMag" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean g magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gMeanFlux" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean g flux</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gMeanMagErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of g magnitude mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gMeanFluxErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of g flux mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gMin" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> minimum g magnitide</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gMax" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> maximum g magnitude</DESCRIPTION>
+      <FIELD name="gMeanPSFMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean g psf magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="gMeanKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean g kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="gMeanPSFMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of g psf magnitude mean</DESCRIPTION>
+      </FIELD>
+      <FIELD name="gMeanKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of g kron mean mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="g20pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 20 pct g magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="g80pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 80 pct g magnitude</DESCRIPTION>
       </FIELD>
       <FIELD name="nr" arraysize="1" datatype="short" unit="unknown">
         <DESCRIPTION>number of measures in r filter</DESCRIPTION>
       </FIELD>
-      <FIELD name="rMeanMag" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean r magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rMeanFlux" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean r flux</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rMeanMagErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of r magnitude mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rMeanFluxErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of r flux mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rMin" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> minimum r magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rMax" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> maximum r magnitude</DESCRIPTION>
+      <FIELD name="rMeanPSFMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean r psf magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="rMeanKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean r kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="rMeanPSFMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of r psf magnitude mean</DESCRIPTION>
+      </FIELD>
+      <FIELD name="rMeanKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of r mean kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="r20pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 20 pct r magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="r80pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 80 pct r magnitude</DESCRIPTION>
       </FIELD>
       <FIELD name="ni" arraysize="1" datatype="short" unit="unknown">
         <DESCRIPTION>number of measures in i filter</DESCRIPTION>
       </FIELD>
-      <FIELD name="iMeanMag" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean i magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iMeanFlux" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean i flux</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iMeanMagErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of i magitude mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iMeanFluxErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of i flux mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iMin" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> minimum i magniutde</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iMax" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> maximum i magnitude</DESCRIPTION>
+      <FIELD name="iMeanPSFMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean psf i magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="iMeanKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean i kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="iMeanPSFMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of i psf magitude mean</DESCRIPTION>
+      </FIELD>
+      <FIELD name="iMeanKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of i kron mag mean</DESCRIPTION>
+      </FIELD>
+      <FIELD name="i20pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 20 pct i magniutde</DESCRIPTION>
+      </FIELD>
+      <FIELD name="i80pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 80 pct i magnitude</DESCRIPTION>
       </FIELD>
       <FIELD name="nz" arraysize="1" datatype="short" unit="mag">
         <DESCRIPTION> number of measures in z filter</DESCRIPTION>
       </FIELD>
-      <FIELD name="zMeanMag" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean z magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zMeanFlux" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean z flux</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zMeanMagErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of z magnitude mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zMeanFluxErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of z flux mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zMin" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> minimum z magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zMax" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> maximum z magnitude</DESCRIPTION>
+      <FIELD name="zMeanPSFMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean z psf magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="zMeanKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean z kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="zMeanPSFMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of z psf magnitude mean</DESCRIPTION>
+      </FIELD>
+      <FIELD name="zMeanKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of z mean kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="z20pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 20 pct z magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="z80pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 80 pct z magnitude</DESCRIPTION>
       </FIELD>
       <FIELD name="ny" arraysize="1" datatype="short" unit="unknown">
         <DESCRIPTION>number of measures in y filter</DESCRIPTION>
       </FIELD>
-      <FIELD name="yMeanMag" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean y magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yMeanFlux" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean y flux</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yMeanMagErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of y magnitude mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yMeanFluxErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of y flux mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yMin" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> minimum y magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yMax" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> maximum y magnitude</DESCRIPTION>
+      <FIELD name="yMeanPSFMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean y psf magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="yMeanKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean y kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="yMeanPSFMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of y psf magnitude mean</DESCRIPTION>
+      </FIELD>
+      <FIELD name="yMeanKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of y kron mag mean</DESCRIPTION>
+      </FIELD>
+      <FIELD name="y20pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 20 pct y magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="y80pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 80 pct y magnitude</DESCRIPTION>
       </FIELD>
       <FIELD name="nw" arraysize="1" datatype="short" unit="unknown">
         <DESCRIPTION>number of measures in the wide (w) solar system filter</DESCRIPTION>
       </FIELD>
-      <FIELD name="wMeanMag" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean w magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="wMeanFlux" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> mean w flux</DESCRIPTION>
-      </FIELD>
-      <FIELD name="wMeanMagErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of w magnitude mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="wMeanFluxErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> estimated error of w flux mean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="wMin" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> minimum w magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="wMax" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> maximum w magnitude</DESCRIPTION>
-      </FIELD>
-      <FIELD name="grMeanColor" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> g-r color from gMean &amp;amp; rMean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="riMeanColor" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> r-i color from rMean &amp;amp; iMean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="izMeanColor" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> i-z color from iMean &amp;amp; zMean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zyMeanColor" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> z-y color from zMean &amp;amp; yMean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="grMeanColorErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> Estimated error in g-r color from gMean &amp;amp; rMean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="riMeanColorErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> Estimated error in r-i color from rMean &amp;amp; iMean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="izMeanColorErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> Estimated error in i-z color from iMean &amp;amp; zMean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zyMeanColorErr" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> Estimated error in z-y color from zMean &amp;amp; yMean</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gMagBest" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> g magnitude from stack frames</DESCRIPTION>
-      </FIELD>
-      <FIELD name="gModID" arraysize="1" datatype="short" unit="unknown">
-        <DESCRIPTION>index of which g model magnitude was used from stack</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rMagBest" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> r magnitude from stack frames</DESCRIPTION>
-      </FIELD>
-      <FIELD name="rModID" arraysize="1" datatype="short" unit="unknown">
-        <DESCRIPTION>index of which r model magnitude was used from stack</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iMagBest" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> i magnitude from stack frames</DESCRIPTION>
-      </FIELD>
-      <FIELD name="iModID" arraysize="1" datatype="short" unit="unknown">
-        <DESCRIPTION>index of which i model magnitude was used from stack</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zMagBest" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> z magnitude from stack frames</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zModID" arraysize="1" datatype="short" unit="unknown">
-        <DESCRIPTION>index of which z model magnitude was used from stack</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yMagBest" arraysize="1" datatype="float" unit="mag">
-        <DESCRIPTION> y magnitude from stack frames</DESCRIPTION>
-      </FIELD>
-      <FIELD name="yModID" arraysize="1" datatype="short" unit="unknown">
-        <DESCRIPTION>index of which y model magnitude was used from stack</DESCRIPTION>
-      </FIELD>
-      <FIELD name="grColor" arraysize="1" datatype="float" unit="unknown">
-        <DESCRIPTION>g-r color from gmag and rmag</DESCRIPTION>
-      </FIELD>
-      <FIELD name="riColor" arraysize="1" datatype="float" unit="unknown">
-        <DESCRIPTION>r-i color from rmag and imag</DESCRIPTION>
-      </FIELD>
-      <FIELD name="izColor" arraysize="1" datatype="float" unit="unknown">
-        <DESCRIPTION>i-z color from imag and zmag</DESCRIPTION>
-      </FIELD>
-      <FIELD name="zyColor" arraysize="1" datatype="float" unit="unknown">
-        <DESCRIPTION>z-y color from zmag and ymag</DESCRIPTION>
+      <FIELD name="wMeanPSFMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean w psf magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="wMeanKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> mean w kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="wMeanPSFMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of w psf magnitude mean</DESCRIPTION>
+      </FIELD>
+      <FIELD name="wMeanKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> estimated error of w kron mag mean</DESCRIPTION>
+      </FIELD>
+      <FIELD name="w20pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 20 pct w magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="w80pct" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> 80 pct w magnitude</DESCRIPTION>
+      </FIELD>
+      <FIELD name="gStackPSFFlux" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> g stack psf flux </DESCRIPTION>
+      </FIELD>
+      <FIELD name="rStackPSFFlux" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> r stack psf flux </DESCRIPTION>
+      </FIELD>
+      <FIELD name="iStackPSFFlux" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> i stack psf flux </DESCRIPTION>
+      </FIELD>
+      <FIELD name="zStackPSFFlux" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> z stack psf flux </DESCRIPTION>
+      </FIELD>
+      <FIELD name="gStackKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> error from g stack kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="rStackKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> error from r stack kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="iStackKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> error from i stack kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="zStackKronMagErr" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> error from z stack kron mag</DESCRIPTION>
+      </FIELD>
+      <FIELD name="gStackKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> g kron magnitude from stack frames</DESCRIPTION>
+      </FIELD>
+      <FIELD name="gFlags" arraysize="1" datatype="short" unit="unknown">
+        <DESCRIPTION>flags for g stack</DESCRIPTION>
+      </FIELD>
+      <FIELD name="rStackKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> r kron magnitude from stack frames</DESCRIPTION>
+      </FIELD>
+      <FIELD name="rFlags" arraysize="1" datatype="short" unit="unknown">
+        <DESCRIPTION>flags for r stack</DESCRIPTION>
+      </FIELD>
+      <FIELD name="iStackKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> i kron magnitude from stack frames</DESCRIPTION>
+      </FIELD>
+      <FIELD name="iFlags" arraysize="1" datatype="short" unit="unknown">
+        <DESCRIPTION>flags for i stack</DESCRIPTION>
+      </FIELD>
+      <FIELD name="zStackKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> z kron magnitude from stack frames</DESCRIPTION>
+      </FIELD>
+      <FIELD name="zFlags" arraysize="1" datatype="short" unit="unknown">
+        <DESCRIPTION>flags for z stack</DESCRIPTION>
+      </FIELD>
+      <FIELD name="yStackKronMag" arraysize="1" datatype="float" unit="mag">
+        <DESCRIPTION> y kron magnitude from stack frames</DESCRIPTION>
+      </FIELD>
+      <FIELD name="yFlags" arraysize="1" datatype="short" unit="unknown">
+        <DESCRIPTION>flags for y stack</DESCRIPTION>
+      </FIELD>
+      <FIELD name="yStackPSFFlux" arraysize="1" datatype="float" unit="unknown">
+        <DESCRIPTION>y band stack PSF flux</DESCRIPTION>
+      </FIELD>
+      <FIELD name="yStackKronMagErr" arraysize="1" datatype="float" unit="unknown">
+        <DESCRIPTION>y band stack kron mag err</DESCRIPTION>
+      </FIELD>
+      <FIELD name="yStackPSFFluxErr" arraysize="1" datatype="float" unit="unknown">
+        <DESCRIPTION>y band stack psf flux err</DESCRIPTION>
+      </FIELD>
+      <FIELD name="extra" arraysize="1" datatype="float" unit="unknown">
+        <DESCRIPTION>currently unused</DESCRIPTION>
       </FIELD>
       <FIELD name="sgSep" arraysize="1" datatype="float" unit="unknown">
Index: /branches/eam_branches/ipp-20120627/ippToPsps/jython/objectbatch.py
===================================================================
--- /branches/eam_branches/ipp-20120627/ippToPsps/jython/objectbatch.py	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippToPsps/jython/objectbatch.py	(revision 34241)
@@ -118,9 +118,8 @@
                    SET \
                    n" + filter[1] + " = NCODE \
-                   ," + filter[1] + "MeanMag = MAG \
-                   ," + filter[1] + "MeanFlux = 3631 * POW(10.0, (-0.4*MAG)) \
-                   ," + filter[1] + "MeanMagErr = MAG_ERR \
-                   ," + filter[1] + "Min = MAG_20/1000 \
-                   ," + filter[1] + "Max = MAG_80/1000 \
+                   ," + filter[1] + "MeanPSFMag = MAG \
+                   ," + filter[1] + "MeanPSFMagErr = MAG_ERR \
+                   ," + filter[1] + "20pct = MAG_20/1000 \
+                   ," + filter[1] + "80pct = MAG_80/1000 \
                    "
             
@@ -133,6 +132,6 @@
 
             sql = "UPDATE Object \
-                   SET " + filter[1] + "MeanMagErr = null \
-                   WHERE " + filter[1] + "MeanMagErr > " + str(cut)
+                   SET " + filter[1] + "MeanPSFMagErr = null \
+                   WHERE " + filter[1] + "MeanPSFMagErr > " + str(cut)
             self.scratchDb.execute(sql)
 
@@ -167,5 +166,5 @@
         cpsTableName = self.scratchDb.getDbFriendlyTableName(self.region + ".cps")
 
-        self.logger.infoPair("Populating", "ObjectCalColor")
+        self.logger.infoPair("Populating", "Object")
         self.logger.infoPair("Inserting objects from", "cpt file")
 
@@ -203,5 +202,5 @@
             self.logger.errorPair("Couldn't populate Object table", sql)
             return False
-
+ 
         # add row count columns so we can perform joins to get colors
         self.logger.infoPair("Adding 'row' columns to", "Object and cps tables")
@@ -211,9 +210,44 @@
         self.insertMags(cpsTableName)
 
-        self.updateColors()
+#don't do this as we removed those columns.. 
+#        self.updateColors()
+
+        #objects can have out of range ra dec in dvo - need to find and kill them at the end
+
+        self.logger.infoPair("Determining", "ra/dec range")
+
+        raMin = self.scratchDb.getFromdvoSkyTable("R_MIN",self.region)
+        raMax = self.scratchDb.getFromdvoSkyTable("R_MAX",self.region)
+        decMin = self.scratchDb.getFromdvoSkyTable("D_MIN",self.region)
+        decMax = self.scratchDb.getFromdvoSkyTable("D_MAX",self.region)
+
+        self.logger.infoPair("R_MIN", raMin)
+        self.logger.infoPair("R_MAX", raMax)
+        self.logger.infoPair("D_MIN", decMin)
+        self.logger.infoPair("D_MAX", decMax)
+        #count out of range
+
+        sql = "SELECT count(*) FROM Object where Object.dec > " + str(decMax) + " or Object.dec < " + str(decMin) + " or Object.ra > " + str(raMax) + " or Object.ra < " + str(raMin)       
+    
+        rs = self.scratchDb.executeQuery(sql)
+        rs.first()
+        nToDelete = rs.getInt(1)
+        
+        #delete out of range
+        
+ 
+        sql = "DELETE FROM Object where Object.dec > " + str(decMax) + " or Object.dec < " + str(decMin) + " or Object.ra > " + str(raMax) + " or Object.ra < " + str(raMin) 
+        self.logger.infoPair("Deleting", str(nToDelete) + " objects outside of ra/dec range")
+
+        try:
+            self.scratchDb.execute(sql)
+        except:
+            self.logger.errorPair("Couldn't cull outsiders from Object table", sql)
+            return False
 
         self.logger.infoPair("Dropping row column from", "Object table")
         self.scratchDb.dropColumn("Object", "row")
         self.logger.infoPair("Purging from scratch Db", self.region + " region")
+
         self.dvoObjects.purgeRegion(self.region)
 
Index: /branches/eam_branches/ipp-20120627/ippToPsps/jython/plot.py
===================================================================
--- /branches/eam_branches/ipp-20120627/ippToPsps/jython/plot.py	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippToPsps/jython/plot.py	(revision 34241)
@@ -40,5 +40,5 @@
             OUTPUTFILE = self.config.name + "_" + batchType + "_" + timestamp + ".png"
 
-        f = os.popen('gnuplot', 'w')
+        f = os.popen('/home/panstarrs/ipp/local/bin/gnuplot', 'w')
             
         if 0:
Index: /branches/eam_branches/ipp-20120627/ippToPsps/jython/scratchdb.py
===================================================================
--- /branches/eam_branches/ipp-20120627/ippToPsps/jython/scratchdb.py	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippToPsps/jython/scratchdb.py	(revision 34241)
@@ -593,2 +593,37 @@
         return orderedFilters
 
+
+    def getRaDecRangesFromdvoSkyTable(self, name):
+     
+        sql = "SELECT R_MIN, R_MAX, D_MIN, D_MAX FROM dvoSkyTable WHERE NAME = '" + name + "' limit 1"
+        try:
+            rs = self.executeQuery(sql)
+            rs.first()
+            raMin = rs.getFloat(1)
+            raMax = rs.getFloat(2)
+            decMin = rs.getFloat(3)
+            decMax = rs.getFloat(4)
+           
+        except:
+            self.logger.errorPair("no ra/decs found for", name)
+            raMin = -999
+            raMax = -999
+            decMin = -999
+            decMax = -999
+
+        return raMin, raMax, decMin, decMax
+ 
+    def getFromdvoSkyTable(self, column, name):
+     
+        sql = "SELECT "+column + " FROM dvoSkyTable WHERE NAME = '" + name + "' limit 1"
+        try:
+            rs = self.executeQuery(sql)
+            rs.first()
+            res = rs.getDouble(1)
+                       
+        except:
+            self.logger.errorPair("no ra/decs found for", name)
+            res = -999
+            
+
+        return res
Index: /branches/eam_branches/ipp-20120627/ippToPsps/jython/stackbatch.py
===================================================================
--- /branches/eam_branches/ipp-20120627/ippToPsps/jython/stackbatch.py	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippToPsps/jython/stackbatch.py	(revision 34241)
@@ -397,4 +397,9 @@
 
         self.scratchDb.execute(sql)
+        #it is possible to drop some detections from dvo (that are present in the cmf). when that happens we get a 0 for objid
+        #we drop those...
+        sql="DELETE FROM StackDetection where objID = 0"
+        self.scratchDb.execute(sql)
+        self.logger.infoPair("Deleting", "entries with StackDetection.objID = 0")
 
         self.scratchDb.updateAllRows("StackDetection", "surveyID", str(self.surveyID))
@@ -421,4 +426,7 @@
         self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "instFlux")
         self.scratchDb.reportAndDeleteRowsWithNULLS("StackDetection", "objID")
+        sql="DELETE FROM StackDetection where objID = 0"
+        self.scratchDb.execute(sql)
+        self.logger.infoPair("Deleting", "entries with StackDetection.objID = 0")
 
 
Index: /branches/eam_branches/ipp-20120627/ippTools/src/disttool.c
===================================================================
--- /branches/eam_branches/ipp-20120627/ippTools/src/disttool.c	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippTools/src/disttool.c	(revision 34241)
@@ -743,4 +743,5 @@
 
     query = "DELETE FROM distComponent where dist_id = %" PRId64;
+    char *query2 =  "DELETE from rcDSFileset using distRun, rcDSFileset WHERE distRun.dist_id = rcDSFileset.dist_id AND rcDSFileset.state ='cleaned' AND dist_id = %" PRId64;
     
     for (long i=0; i < psArrayLength(output); i++) {
@@ -753,5 +754,15 @@
         }
 
+        // delete any existing distComponents
         if (!p_psDBRunQueryF(config->dbh, query, dist_id)) {
+            psError(PS_ERR_UNKNOWN, false, "database error");
+            psFree(query);
+            if (!psDBRollback(config->dbh)) {
+                psError(PS_ERR_UNKNOWN, false, "database error");
+            }
+            return false;
+        }
+        // delete any exisiting fileset
+        if (!p_psDBRunQueryF(config->dbh, query2, dist_id)) {
             psError(PS_ERR_UNKNOWN, false, "database error");
             psFree(query);
Index: /branches/eam_branches/ipp-20120627/ippTools/src/pxtools.c
===================================================================
--- /branches/eam_branches/ipp-20120627/ippTools/src/pxtools.c	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippTools/src/pxtools.c	(revision 34241)
@@ -301,4 +301,8 @@
     PXOPT_LOOKUP_STR(note, config->args,        "-set_note", false, false);
 
+#ifdef DISALLOW_CHANGE_TO_UPDATE
+    // Back in the days of magic we didn't allow state changes of Run's
+    // to update because the interaction with destreaking was problematic
+    // With the death of magic we can allow this now.
     if ((state)&&(!strcmp(state, "update"))) {
         fprintf(stderr, "'-updaterun -set_state update' is not supported.");
@@ -310,5 +314,5 @@
         exit(1);
     }
-
+#endif
     psString dist_group = NULL;
     if (has_dist_group) {
@@ -350,4 +354,6 @@
     psString joinHook = psStringCopy("");
     psString fileWhere = NULL;
+
+#ifdef DISALLOW_CHANGE_TO_UPDATE
     if (state && !strcmp(state, "update")) {
         psStringAppend(&joinHook, "\n JOIN %s USING(%s)", fileTable, idColumn);
@@ -355,4 +361,5 @@
         psStringAppend(&fileWhere, "AND %s.data_state = 'cleaned'", fileTable);
     }
+#endif
 
     psString whereClause =  psDBGenerateWhereSQL(where, NULL);
Index: /branches/eam_branches/ipp-20120627/ippTools/src/staticskytool.c
===================================================================
--- /branches/eam_branches/ipp-20120627/ippTools/src/staticskytool.c	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippTools/src/staticskytool.c	(revision 34241)
@@ -1144,9 +1144,8 @@
 static bool updateskycalrunMode(pxConfig *config)
 {
-#ifdef notyet
     PS_ASSERT_PTR_NON_NULL(config, false);
 
     psMetadata *where = psMetadataAlloc();
-    PXOPT_COPY_S64(config->args, where, "-sky_id",  "sky_id",   "==");
+    PXOPT_COPY_S64(config->args, where, "-skycal_id",  "skycal_id",   "==");
     PXOPT_COPY_STR(config->args, where, "-label",   "label",    "==");
     PXOPT_COPY_STR(config->args, where, "-state",   "state",    "==");
@@ -1157,15 +1156,14 @@
     }
 
-    psString query = psStringCopy("UPDATE staticskyRun");
+    psString query = psStringCopy("UPDATE skycalRun");
 
     // pxUpdateRun gets parameters from config->args and updates
-    bool result = pxUpdateRun(config, where, &query, "staticskyRun", "sky_id", "staticskyResult", true, false);
+    bool result = pxUpdateRun(config, where, &query, "skycalRun", "skycal_id", "skycalResult", true, false);
     psFree(query);
     psFree(where);
 
     return result;
-#endif
-    return false;
-}
+}
+
 static bool pendingskycalrunMode(pxConfig *config)
 {
@@ -1370,5 +1368,5 @@
     PXOPT_COPY_S64(config->args, where, "-skycal_id",  "skycalRun.skycal_id", "==");
     PXOPT_COPY_S64(config->args, where, "-sky_id",     "skycalRun.sky_id", "==");
-    PXOPT_COPY_S64(config->args, where, "-stack_id",   "skycalRun.stack_id", "==");
+    PXOPT_COPY_S64(config->args, where, "-stack_id",   "stackRun.stack_id", "==");
     PXOPT_COPY_STR(config->args, where, "-tess_id",    "stackRun.tess_id", "LIKE");
     PXOPT_COPY_STR(config->args, where, "-skycell_id", "stackRun.skycell_id", "LIKE");
@@ -1447,9 +1445,9 @@
 
     psMetadata *where = psMetadataAlloc();
-    PXOPT_COPY_S64(config->args, where, "-skycal_id", "staticskyResult.sky_id", "==");
-    pxAddLabelSearchArgs(config, where, "-label", "staticskyRun.label", "==");
-    pxAddLabelSearchArgs(config, where, "-data_group", "staticskyRun.data_group", "==");
+    PXOPT_COPY_S64(config->args, where, "-skycal_id", "skycalResult.skycal_id", "==");
+    pxAddLabelSearchArgs(config, where, "-label", "skycalRun.label", "==");
+    pxAddLabelSearchArgs(config, where, "-data_group", "skycalRun.data_group", "==");
     pxAddLabelSearchArgs(config, where, "-filter", "stackRun.filter", "==");
-    PXOPT_COPY_S16(config->args, where, "-fault", "staticskyResult.fault", "==");
+    PXOPT_COPY_S16(config->args, where, "-fault", "skycalResult.fault", "==");
 
     if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
Index: /branches/eam_branches/ipp-20120627/ippTools/src/staticskytoolConfig.c
===================================================================
--- /branches/eam_branches/ipp-20120627/ippTools/src/staticskytoolConfig.c	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/ippTools/src/staticskytoolConfig.c	(revision 34241)
@@ -171,5 +171,5 @@
     // -updateskycalrun
     psMetadata *updateskycalrunArgs = psMetadataAlloc();
-    psMetadataAddS64(updateskycalrunArgs, PS_LIST_TAIL, "-sky_id", 0, "search by stack ID", 0);
+    psMetadataAddS64(updateskycalrunArgs, PS_LIST_TAIL, "-skycal_id", 0, "search by skycal ID", 0);
     psMetadataAddStr(updateskycalrunArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL);
     psMetadataAddStr(updateskycalrunArgs, PS_LIST_TAIL, "-label", 0, "search by label", 0);
@@ -218,5 +218,5 @@
     // -revertskycal
     psMetadata *revertskycalArgs= psMetadataAlloc();
-    psMetadataAddS64(revertskycalArgs, PS_LIST_TAIL, "-skycal_id", 0, "search by staticsky ID", 0);
+    psMetadataAddS64(revertskycalArgs, PS_LIST_TAIL, "-skycal_id", 0, "search by skycal ID", 0);
     psMetadataAddStr(revertskycalArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by label", 0);
     psMetadataAddStr(revertskycalArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by data_group", 0);
Index: /branches/eam_branches/ipp-20120627/pstamp/scripts/pstamp_checkdependent.pl
===================================================================
--- /branches/eam_branches/ipp-20120627/pstamp/scripts/pstamp_checkdependent.pl	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/pstamp/scripts/pstamp_checkdependent.pl	(revision 34241)
@@ -331,9 +331,13 @@
         return $error_code
     }
-    if (($state eq 'update') and ($metadata->{fault})) {
+    if (($data_state eq 'full') and ($metadata->{fault})) {
         # fault dependent.
         my $fault = $metadata->{fault};
         print STDERR "warp $warp_id $skycell_id faulted: $fault";
         return $fault;
+    }
+    if ($metadata->{quality} ne 0) {
+        print STDERR "warp $warp_id $skycell_id bad quality on update: $metadata->{quality}\n";
+        return $PSTAMP_GONE;
     }
 
@@ -466,5 +470,9 @@
                 return $warp_status;
             }
-        }
+        } elsif ($warp1->{quality} != 0) {
+	    print STDERR "warp $warp1->{warp_id} $skycell_id has poor quality: $warp1->{quality}\n";
+	    faultComponent('diff', $diff_id, $skycell_id, $PSTAMP_GONE);
+	    return $PSTAMP_GONE;
+	}
         $command = "$warptool -warped -warp_id $skycell->{warp2} -skycell_id $skycell_id";
         my $warp2 = runToolAndParseExpectOne($command, $verbose);
@@ -477,5 +485,9 @@
                 faultComponent('diff', $diff_id, $skycell_id, $PSTAMP_GONE);
             }
-        }
+        } elsif ($warp2->{quality} != 0) {
+	    print STDERR "warp $warp2->{warp_id} $skycell_id has poor quality: $warp2->{quality}\n";
+	    faultComponent('diff', $diff_id, $skycell_id, $PSTAMP_GONE);
+	    return $PSTAMP_GONE;
+	}
 
         if (!$warps_ready) {
Index: /branches/eam_branches/ipp-20120627/pstamp/scripts/pstamp_parser_run.pl
===================================================================
--- /branches/eam_branches/ipp-20120627/pstamp/scripts/pstamp_parser_run.pl	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/pstamp/scripts/pstamp_parser_run.pl	(revision 34241)
@@ -127,5 +127,5 @@
 if ($uri =~ /^http:/) {
     # if the uri is an http uri download the file 
-    my $command = "$dsget --uri $uri --filename $new_uri";
+    my $command = "$dsget --uri $uri --filename $new_uri --timeout 120";
     my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
         run(command => $command, verbose => $verbose);
Index: /branches/eam_branches/ipp-20120627/tools/who_uses_the_cluster/_who_uses_the_cluster.sh
===================================================================
--- /branches/eam_branches/ipp-20120627/tools/who_uses_the_cluster/_who_uses_the_cluster.sh	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/tools/who_uses_the_cluster/_who_uses_the_cluster.sh	(revision 34241)
@@ -40,5 +40,8 @@
     ipp050 ipp051 ipp052 ipp053 ipp054 ipp055 ipp056 ipp057 ipp058 ipp059\
     ipp060 ipp061 ipp062 ipp063 ipp064 ipp065 ipp066\
-    stare00 stare01 stare02 stare03 stare04"
+    stare00 stare01 stare02 stare03 stare04\
+    ippb00 ippb01 ippb02 ippb03\
+    stsci00 stsci01 stsci02 stsci03 stsci04\
+    stsci05 stsci06 stsci07 stsci08 stsci09"
 
 # Basename of the files 
Index: /branches/eam_branches/ipp-20120627/tools/who_uses_the_cluster/_who_uses_the_cluster_analyze.pl
===================================================================
--- /branches/eam_branches/ipp-20120627/tools/who_uses_the_cluster/_who_uses_the_cluster_analyze.pl	(revision 34240)
+++ /branches/eam_branches/ipp-20120627/tools/who_uses_the_cluster/_who_uses_the_cluster_analyze.pl	(revision 34241)
@@ -24,10 +24,13 @@
     ippc50 ippc51 ippc52 ippc53 ippc54 ippc55 ippc56 ippc57 ippc58 ippc59
     ippc60 ippc61 ippc62 ippc63
-    ippdb00 ippdb01 ippdb02 ippdb03 stare00 stare01 stare02 stare03 stare04/;
+    ippdb00 ippdb01 ippdb02 ippdb03 stare00 stare01 stare02 stare03 stare04
+    ippb00 ippb01 ippb02 ippb03
+    stsci00 stsci01 stsci02 stsci03 stsci04
+    stsci05 stsci06 stsci07 stsci08 stsci09/;
 
 print "<html>\n";
-print "<head><title>Who uses the system?</title></head>\n";
+print "<head><title>Who is using the system?</title></head>\n";
 print "<body>\n";
-print "<b>To get info, move the mouse pointer over the table cell. !Warning! Command lines can be truncated</b><br/><br/><br/>\n";
+print "<b>This script is run from ippc18 (ipp user crontab). To get info, move the mouse pointer over the table cells to get more details. !Warning! Command lines can be truncated</b><br/><br/><br/>\n";
 print "<table border=\"1\">\n";
 # Scan each logfile
