Index: /branches/eam_branches/ohana.20170822/src/dvopsps/src/insert_objects_dvopsps_catalog.c
===================================================================
--- /branches/eam_branches/ohana.20170822/src/dvopsps/src/insert_objects_dvopsps_catalog.c	(revision 40284)
+++ /branches/eam_branches/ohana.20170822/src/dvopsps/src/insert_objects_dvopsps_catalog.c	(revision 40285)
@@ -112,6 +112,6 @@
 		 "RA_ERR        FLOAT,    "      
 		 "DEC_ERR       FLOAT,    "
-		 "IAU_NAME      VARCHAR(32), "
 		 "PSO_NAME      VARCHAR(32), "
+		 "PSX_NAME      VARCHAR(32), "
 		 "CHISQ_POS     FLOAT,    "   
 		 "CHISQ_PM      FLOAT,    "    
@@ -221,6 +221,6 @@
 		 "RA_ERR,        "      
 		 "DEC_ERR,       "
-		 "IAU_NAME,      "
 		 "PSO_NAME,      "
+		 "PSX_NAME,      "
 		 "CHISQ_POS,     "   
 		 "CHISQ_PM,      "    
@@ -292,15 +292,15 @@
   PRINT_FLOAT(ave_buffer, average->dD, 	     "%.5f, ");  // 0.010 mas precision
 
-  int useStack = (secfilt->NstackDet != 0) && isfinite(average->Rstk) && isfinite(average->Dstk);
+  int useStack = (!isfinite(average->R) || !isfinite(average->D)) && (secfilt->NstackDet != 0) && isfinite(average->Rstk) && isfinite(average->Dstk);
 
   double tmp_ra  = useStack ? average->Rstk : average->R;
   double tmp_dec = useStack ? average->Dstk : average->D;
+
+  // PSO NAME (IAU approved)
+  PrintIOBuffer(ave_buffer, "'PSO J%08.4f%+08.4f',  ", tmp_ra, tmp_dec);
 
   // PSX NAME
   Format_PSX_Name (coord_buffer, 128, tmp_ra, tmp_dec);
   PrintIOBuffer(ave_buffer, "'%s',  ", coord_buffer);
-
-  // PSO NAME (IAU approved)
-  PrintIOBuffer(ave_buffer, "'PSO J%09.5f%+09.5f',  ", tmp_ra,tmp_dec);
 
   // End names
@@ -491,7 +491,7 @@
   tmp_ra -= ra_min;
   tmp_ra *= 60.0;
-  ra_sec  = tmp_ra;
-
-  int dec_sign = (tmp_dec >= 0.0) ? +1 : -1;
+  ra_sec = trunc(100.0*tmp_ra) / 100.0; // ensure truncation for XX.XX
+
+  char dec_sign = (tmp_dec >= 0.0) ? '+' : '-';
   tmp_dec = fabs(tmp_dec);
 
@@ -504,12 +504,9 @@
   tmp_dec -= dec_min;
   tmp_dec *= 60.0;
-  dec_sec = tmp_dec;
-
-  // IAU NAME
-  if (dec_sign == +1) {
-    snprintf (buffer, Nbuffer, "PSO J%02d %02d %06.3f + %03d %02d %06.3f", ra_hr, ra_min, ra_sec, dec_deg, dec_min, dec_sec);
-  } else {
-    snprintf (buffer, Nbuffer, "PSO J%02d %02d %06.3f - %03d %02d %06.3f", ra_hr, ra_min, ra_sec, dec_deg, dec_min, dec_sec);
-  }
-  return TRUE;
-}
+  dec_sec = trunc(10.0*tmp_dec) / 10.0; // ensure truncation for XX.X
+
+  // PSX NAME
+  snprintf (buffer, Nbuffer, "PSX J%02d%02d%05.2f%c%02d%02d%04.1f", ra_hr, ra_min, ra_sec, dec_sign, dec_deg, dec_min, dec_sec);
+
+  return TRUE;
+}
