Index: trunk/Ohana/src/opihi/dvo/dbFields.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/dbFields.c	(revision 14379)
+++ trunk/Ohana/src/opihi/dvo/dbFields.c	(revision 14401)
@@ -38,4 +38,6 @@
   if (!strcasecmp (string, "err"))   return (MAG_ERR);
   if (!strcasecmp (string, "chisq")) return (MAG_CHISQ);
+  if (!strcasecmp (string, "ncode")) return (MAG_NCODE);
+  if (!strcasecmp (string, "nphot")) return (MAG_NPHOT);
   return (MAG_NONE);
 }
@@ -101,21 +103,52 @@
   field->name  = strcreate (fieldName);
 
-  if (!strcasecmp (fieldName, "RA"))       ESCAPE (MEAS_RA,   	  MAG_NONE);
-  if (!strcasecmp (fieldName, "DEC"))      ESCAPE (MEAS_DEC,  	  MAG_NONE);
-  if (!strcasecmp (fieldName, "RA:AVE"))   ESCAPE (MEAS_RA_AVE,   MAG_NONE);
-  if (!strcasecmp (fieldName, "DEC:AVE"))  ESCAPE (MEAS_DEC_AVE,  MAG_NONE);
-  if (!strcasecmp (fieldName, "AIRMASS"))  ESCAPE (MEAS_AIRMASS,  MAG_NONE);
-  if (!strcasecmp (fieldName, "EXPTIME"))  ESCAPE (MEAS_EXPTIME,  MAG_NONE);
-  if (!strcasecmp (fieldName, "PHOTCODE")) ESCAPE (MEAS_PHOTCODE, MAG_NONE);
-  if (!strcasecmp (fieldName, "TIME"))     ESCAPE (MEAS_TIME,     MAG_NONE);
-  if (!strcasecmp (fieldName, "dR"))       ESCAPE (MEAS_dR, 	  MAG_NONE);
-  if (!strcasecmp (fieldName, "dD"))       ESCAPE (MEAS_dD, 	  MAG_NONE);
-  if (!strcasecmp (fieldName, "FWHM"))     ESCAPE (MEAS_FWHM,     MAG_NONE);
-  if (!strcasecmp (fieldName, "DOPHOT"))   ESCAPE (MEAS_DOPHOT,   MAG_NONE);
-  if (!strcasecmp (fieldName, "FLAGS"))    ESCAPE (MEAS_FLAGS,    MAG_NONE);
-  if (!strcasecmp (fieldName, "XCCD"))     ESCAPE (MEAS_XCCD, 	  MAG_NONE);
-  if (!strcasecmp (fieldName, "YCCD"))     ESCAPE (MEAS_YCCD, 	  MAG_NONE);
-  if (!strcasecmp (fieldName, "XMOSAIC"))  ESCAPE (MEAS_XMOSAIC,  MAG_NONE);
-  if (!strcasecmp (fieldName, "YMOSAIC"))  ESCAPE (MEAS_YMOSAIC,  MAG_NONE);
+  if (!strcasecmp (fieldName, "RA"))       ESCAPE (MEAS_RA,   	     	MAG_NONE);
+  if (!strcasecmp (fieldName, "DEC"))      ESCAPE (MEAS_DEC,  	     	MAG_NONE);
+  if (!strcasecmp (fieldName, "RA:AVE"))   ESCAPE (MEAS_RA_AVE,      	MAG_NONE);
+  if (!strcasecmp (fieldName, "DEC:AVE"))  ESCAPE (MEAS_DEC_AVE,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "RA:ERR"))   ESCAPE (MEAS_RA_AVE_ERR,  	MAG_NONE);
+  if (!strcasecmp (fieldName, "DEC:ERR"))  ESCAPE (MEAS_DEC_AVE_ERR, 	MAG_NONE);
+  if (!strcasecmp (fieldName, "uRA"))      ESCAPE (MEAS_U_RA,        	MAG_NONE);
+  if (!strcasecmp (fieldName, "uDEC"))     ESCAPE (MEAS_U_DEC,       	MAG_NONE);
+  if (!strcasecmp (fieldName, "duRA"))     ESCAPE (MEAS_U_RA_ERR,    	MAG_NONE);
+  if (!strcasecmp (fieldName, "duDEC"))    ESCAPE (MEAS_U_DEC_ERR,   	MAG_NONE);
+  if (!strcasecmp (fieldName, "PAR"))      ESCAPE (MEAS_PAR,         	MAG_NONE);
+  if (!strcasecmp (fieldName, "dPAR"))     ESCAPE (MEAS_PAR_ERR,       	MAG_NONE);
+  if (!strcasecmp (fieldName, "dR"))       ESCAPE (MEAS_RA_OFFSET,   	MAG_NONE);
+  if (!strcasecmp (fieldName, "dD"))       ESCAPE (MEAS_DEC_OFFSET,  	MAG_NONE);
+  if (!strcasecmp (fieldName, "dR:ERR"))   ESCAPE (MEAS_RA_OFFSET_ERR,  MAG_NONE);
+  if (!strcasecmp (fieldName, "dD:ERR"))   ESCAPE (MEAS_DEC_OFFSET_ERR, MAG_NONE);
+  if (!strcasecmp (fieldName, "xp"))       ESCAPE (MEAS_XP,          	MAG_NONE);
+  if (!strcasecmp (fieldName, "nmeas"))    ESCAPE (MEAS_NMEAS,       	MAG_NONE);
+  if (!strcasecmp (fieldName, "nmiss"))    ESCAPE (MEAS_NMISS,       	MAG_NONE);
+  if (!strcasecmp (fieldName, "nphot"))    ESCAPE (MEAS_NPHOT,       	MAG_NONE);
+  if (!strcasecmp (fieldName, "ncode"))    ESCAPE (MEAS_NCODE,       	MAG_NONE);
+  if (!strcasecmp (fieldName, "objflags")) ESCAPE (MEAS_OBJFLAGS,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "AIRMASS"))  ESCAPE (MEAS_AIRMASS,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "ALT"))      ESCAPE (MEAS_ALT,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "AZ"))       ESCAPE (MEAS_AZ,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "EXPTIME"))  ESCAPE (MEAS_EXPTIME,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "PHOTCODE")) ESCAPE (MEAS_PHOTCODE,    	MAG_NONE);
+  if (!strcasecmp (fieldName, "TIME"))     ESCAPE (MEAS_TIME,        	MAG_NONE);
+  if (!strcasecmp (fieldName, "FWHM"))     ESCAPE (MEAS_FWHM,        	MAG_NONE);
+  if (!strcasecmp (fieldName, "FWHM_MAJ")) ESCAPE (MEAS_FWHM_MAJ,    	MAG_NONE);
+  if (!strcasecmp (fieldName, "FWHM_MIN")) ESCAPE (MEAS_FWHM_MIN,    	MAG_NONE);
+  if (!strcasecmp (fieldName, "THETA"))    ESCAPE (MEAS_THETA,       	MAG_NONE);
+  if (!strcasecmp (fieldName, "FLAGS"))    ESCAPE (MEAS_FLAGS,       	MAG_NONE);
+  if (!strcasecmp (fieldName, "XCCD"))     ESCAPE (MEAS_XCCD, 	     	MAG_NONE);
+  if (!strcasecmp (fieldName, "YCCD"))     ESCAPE (MEAS_YCCD, 	     	MAG_NONE);
+  if (!strcasecmp (fieldName, "XMOSAIC"))  ESCAPE (MEAS_XMOSAIC,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "YMOSAIC"))  ESCAPE (MEAS_YMOSAIC,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "XCHIP"))    ESCAPE (MEAS_XCCD, 	     	MAG_NONE);
+  if (!strcasecmp (fieldName, "YCHIP"))    ESCAPE (MEAS_YCCD, 	     	MAG_NONE);
+  if (!strcasecmp (fieldName, "XFPA"))     ESCAPE (MEAS_XMOSAIC,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "YFPA"))     ESCAPE (MEAS_YMOSAIC,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "DETID"))    ESCAPE (MEAS_DETID,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "OBJID"))    ESCAPE (MEAS_OBJID,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "IMAGEID"))  ESCAPE (MEAS_IMAGEID,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "stargal"))  ESCAPE (MEAS_IMAGEID,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "psfqf"))    ESCAPE (MEAS_IMAGEID,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "sky"))      ESCAPE (MEAS_IMAGEID,     	MAG_NONE);
+  if (!strcasecmp (fieldName, "sky_err"))  ESCAPE (MEAS_IMAGEID,     	MAG_NONE);
 
   // for words that don't parse, try a photcode
@@ -125,10 +158,5 @@
   if (code == NULL) return (FALSE);
 
-  if (mode == MAG_ERR) {
-    field->ID = MEAS_dMAG;
-  } else {
-    field->ID = MEAS_MAG;
-  }    
-  
+  field->ID = MEAS_MAG;
   field->magMode = mode;
   field->photcode = code;
@@ -154,13 +182,10 @@
   if (!strcasecmp (fieldName, "PAR"))   ESCAPE (AVE_PAR,       MAG_NONE);
   if (!strcasecmp (fieldName, "dPAR"))  ESCAPE (AVE_PAR_ERR,   MAG_NONE);
+  if (!strcasecmp (fieldName, "Xp"))    ESCAPE (AVE_Xp,        MAG_NONE);
   if (!strcasecmp (fieldName, "NMEAS")) ESCAPE (AVE_NMEAS,     MAG_NONE);
   if (!strcasecmp (fieldName, "NMISS")) ESCAPE (AVE_NMISS,     MAG_NONE);
-  if (!strcasecmp (fieldName, "Xp"))    ESCAPE (AVE_Xp,        MAG_NONE);
-  if (!strcasecmp (fieldName, "Xm"))    ESCAPE (AVE_Xm,        MAG_CHISQ);
   if (!strcasecmp (fieldName, "FLAG"))  ESCAPE (AVE_FLAG,      MAG_NONE);
   if (!strcasecmp (fieldName, "TYPE"))  ESCAPE (AVE_TYPE,      MAG_NONE);
-  if (!strcasecmp (fieldName, "NPHOT")) ESCAPE (AVE_NPHOT,     MAG_NONE);
-  if (!strcasecmp (fieldName, "NCODE")) ESCAPE (AVE_NCODE,     MAG_NONE);
-  if (!strcasecmp (fieldName, "NCRIT")) ESCAPE (AVE_NCRIT,     MAG_NONE);
+  if (!strcasecmp (fieldName, "OBJID")) ESCAPE (AVE_OBJID,     MAG_NONE);
 
   // for words that don't parse, try a photcode
@@ -175,11 +200,5 @@
   }
 
-  // need to distinguish phot, sys errors and scatter
-  if (mode == MAG_ERR) {
-    field->ID = AVE_dMAG;
-  } else {
-    field->ID = AVE_MAG;
-  }    
-  
+  field->ID = AVE_MAG;
   field->magMode = mode;
   field->photcode = code;
