Index: branches/eam_branches/ipp-20101103/Ohana/src/relastro/src/UpdateObjects.c
===================================================================
--- branches/eam_branches/ipp-20101103/Ohana/src/relastro/src/UpdateObjects.c	(revision 29816)
+++ branches/eam_branches/ipp-20101103/Ohana/src/relastro/src/UpdateObjects.c	(revision 29817)
@@ -54,5 +54,4 @@
   memset (&fitPM,  0, sizeof(fitPM));
   memset (&fitPAR, 0, sizeof(fitPAR));
-  
   initObjectData (catalog, Ncatalog);
 
@@ -72,5 +71,4 @@
   // use J2000 as a reference time
   T2000 = ohana_date_to_sec ("2000/01/01");
-
   // XXX in the future, use catalog[0].Nsecfilt only?  allow catalogs to have variable Nsecfilt?
   Nsecfilt = GetPhotcodeNsecfilt ();
@@ -97,5 +95,4 @@
       N = 0;
       m = catalog[i].average[j].measureOffset;
-
       Tmin = Tmax = (catalog[i].measure[m].t - T2000) / (86400*365.25);
       mode = FIT_MODE;
@@ -137,6 +134,9 @@
 
 	// dX, dY : error in arcsec -- 
-	dX[N] = GetAstromError (&catalog[i].measure[m], ERROR_MODE_RA);
-	dY[N] = GetAstromError (&catalog[i].measure[m], ERROR_MODE_DEC);
+	// dX[N] = GetAstromError (&catalog[i].measure[m], ERROR_MODE_RA);
+	// dY[N] = GetAstromError (&catalog[i].measure[m], ERROR_MODE_DEC);
+
+	dX[N] = 0.1;
+	dY[N] = 0.1;
 	dT[N] = catalog[i].measure[m].dt;
 
@@ -145,6 +145,6 @@
 	// non-circular errors (different values for X and Y), then dR and dD will be
 	// incorrect: they would need to be rotated to take out the position angle
-	dR[k] = dX[k] / 3600.0;
-	dD[k] = dY[k] / 3600.0;
+	dR[N] = dX[N] / 3600.0;
+	dD[N] = dY[N] / 3600.0;
 
 	N++;
@@ -194,4 +194,5 @@
 
 	FitPM (&fitPM, X, dX, Y, dY, T, N);
+
 	if (XVERB) fprintf (stderr, "fitted:  %f - %f : %f %f : %f %f : %f vs %f\n", Tmin, Tmax, fitPM.Ro, fitPM.Do, fitPM.uR, fitPM.uD, fitPM.chisq, fitAve.chisq);
 
@@ -244,27 +245,29 @@
 
       switch (result) {
-	case FIT_AVERAGE:
-	  catalog[i].average[j].flags |= ID_STAR_USE_AVE;
-	  fit = fitAve;
-	  break;
-	case FIT_PM_ONLY:
-	  catalog[i].average[j].flags |= ID_STAR_USE_PM;
-	  fit = fitPM;
-	  break;
-	case FIT_PM_AND_PAR:
-	  catalog[i].average[j].flags |= ID_STAR_USE_PAR;
-	  fit = fitPAR;
-	  break;
-      }
-
-      if (XVERB) fprintf (stderr, "%f %f -> %f %f (%f,%f)\n",
+      case FIT_AVERAGE:
+	catalog[i].average[j].flags |= ID_STAR_USE_AVE;
+	fit = fitAve;
+	break;
+      case FIT_PM_ONLY:
+	catalog[i].average[j].flags |= ID_STAR_USE_PM;
+	fit = fitPM;
+	break;
+      case FIT_PM_AND_PAR:
+	catalog[i].average[j].flags |= ID_STAR_USE_PAR;
+	fit = fitPAR;
+	break;
+      }
+      if (XVERB) fprintf (stderr, "A%f %f -> %f %f (%f,%f) pm=(%f %f)\n",
 			  catalog[i].average[j].R, 
 			  catalog[i].average[j].D, 
 			  fit.Ro, fit.Do, 
 			  3600*(catalog[i].average[j].R - fit.Ro), 
-			  3600*(catalog[i].average[j].D - fit.Do));
+			  3600*(catalog[i].average[j].D - fit.Do),
+			  fit.uR,
+			  fit.uD);
 
       //make sure that the fit succeeded
-      status  = finite(fit.Ro);
+      status = TRUE;
+      status &= finite(fit.Ro);
       status &= finite(fit.Do);
       status &= finite(fit.dRo);
@@ -310,4 +313,13 @@
       catalog[i].average[j].Trange = (Trange * 86400 * 365.26);
       catalog[i].average[j].Npos = fit.Nfit;
+      if (XVERB) fprintf (stderr, "%f %f -> %f %f (%f,%f) pm=(%f %f)\n",
+                          catalog[i].average[j].R,
+                          catalog[i].average[j].D,
+                          fit.Ro, fit.Do,
+                          3600*(catalog[i].average[j].R - fit.Ro),
+                          3600*(catalog[i].average[j].D - fit.Do),
+                          catalog[i].average[j].uR,
+                          catalog[i].average[j].uD);
+
     }
 
