Index: /branches/eam_branch_20080223/Ohana/src/addstar/src/SEDfit.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/addstar/src/SEDfit.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/addstar/src/SEDfit.c	(revision 16633)
@@ -77,7 +77,7 @@
 
     // load the measurements for this source
-    m = incat[0].average[i].offset;
+    m = incat[0].average[i].measureOffset;
     Nphot = 0;
-    for (j = 0; j < incat[0].average[i].Nm; j++) {
+    for (j = 0; j < incat[0].average[i].Nmeasure; j++) {
       idx = table[0].hashcode[incat[0].measure[m+j].photcode];
       if (idx == -1) continue;
@@ -159,10 +159,10 @@
 
     // XXX for now, set the average mag data to NULL
-    outcat[0].average[Nave].Nm        = 0;
-    outcat[0].average[Nave].Nn        = 0;
-    outcat[0].average[Nave].Xp        = NAN_S_SHORT;
-    outcat[0].average[Nave].offset    = Nmeas;
-    outcat[0].average[Nave].missing   = -1;
-    outcat[0].average[Nave].code      = 0;
+    outcat[0].average[Nave].Nmeasure  	  = 0;
+    outcat[0].average[Nave].Nmissing  	  = 0;
+    outcat[0].average[Nave].Xp        	  = NAN_S_SHORT;
+    outcat[0].average[Nave].measureOffset = Nmeas;
+    outcat[0].average[Nave].missingOffset = -1;
+    outcat[0].average[Nave].code          = 0;
 
     for (j = 0; j < Nsec; j++) {
@@ -199,5 +199,5 @@
       outcat[0].measure[Nmeas].theta    = NAN_S_SHORT;
 
-      outcat[0].average[Nave].Nm++;
+      outcat[0].average[Nave].Nmeasure++;
       Nmeas ++;
     }
Index: /branches/eam_branch_20080223/Ohana/src/addstar/src/build_links.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/addstar/src/build_links.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/addstar/src/build_links.c	(revision 16633)
@@ -2,5 +2,5 @@
 
 /* build the initial links assuming the table is sorted, 
-   not partial, and has a correct set of average[].offset,Nm values */
+   not partial, and has a correct set of average[].measureOffset,Nm values */
 int *init_measure_links (Average *average, int Naverage, Measure *measure, int Nmeasure) {
 
@@ -12,5 +12,5 @@
   ALLOCATE (next, int, Nmeasure);
   for (i = 0; i < Naverage; i++, N++) {
-    for (j = 0; j < average[i].Nm - 1; j++, N++) {
+    for (j = 0; j < average[i].Nmeasure - 1; j++, N++) {
       next[N] = N + 1;
       if (N >= Nmeasure) {
@@ -41,8 +41,8 @@
   ALLOCATE (next, int, Nmissing);
   for (i = 0; i < Naverage; i++) {
-    for (j = 0; j < average[i].Nn - 1; j++, N++) {
+    for (j = 0; j < average[i].Nmissing - 1; j++, N++) {
       next[N] = N + 1;
     }
-    if (average[i].Nn > 0) {
+    if (average[i].Nmissing > 0) {
       next[N] = -1;
       if (N >= Nmissing) {
@@ -57,5 +57,5 @@
 }
 
-/* average[].offset, average[].Nm are valid within an addstar run */
+/* average[].measureOffset, average[].Nmeasure are valid within an addstar run */
 int add_meas_link (Average *average, int *next, int Nmeasure, int NMEASURE) {
 
@@ -63,7 +63,7 @@
 
   /* if we have trouble, check validity of next[m] : m < Nmeasure */
-  m = average[0].offset;  
-
-  for (k = 0; k < average[0].Nm - 1; k++)  {
+  m = average[0].measureOffset;  
+
+  for (k = 0; k < average[0].Nmeasure - 1; k++)  {
     m = next[m];
     if (m >= NMEASURE) {
@@ -79,5 +79,5 @@
 
   if (m == -1) {
-    average[0].offset = Nmeasure;
+    average[0].measureOffset = Nmeasure;
   } else {
     next[m] = Nmeasure;
@@ -95,12 +95,12 @@
 
   /* there may be 0 Nmiss; this is not true for Nmeas */
-  if (average[0].Nn < 1) {
-    average[0].missing = Nmissing;
+  if (average[0].Nmissing < 1) {
+    average[0].missingOffset = Nmissing;
     next[Nmissing] = -1;
     return (TRUE);
   }
 
-  m = average[0].missing;  
-  for (k = 0; k < average[0].Nn - 1; k++) m = next[m];
+  m = average[0].missingOffset;  
+  for (k = 0; k < average[0].Nmissing - 1; k++) m = next[m];
   /* set up references */
   next[Nmissing] = -1;
@@ -125,16 +125,16 @@
   /* reset the Nm, offset values for average */
   for (i = 0; i < Naverage; i++) {
-    average[i].offset = -1;
-    average[i].Nm     =  0;
+    average[i].measureOffset = -1;
+    average[i].Nmeasure     =  0;
   }
 
   for (Nm = 0; Nm < Nmeasure; Nm++) {
     averef = measure[Nm].averef;
-    m = average[averef].offset;  
+    m = average[averef].measureOffset;  
     next[Nm] = -1;
 
     if (m == -1) { /* no links yet for source */
-      average[averef].offset = Nm;
-      average[averef].Nm     = 1;
+      average[averef].measureOffset = Nm;
+      average[averef].Nmeasure     = 1;
       continue;
     }
@@ -147,5 +147,5 @@
     }
 
-    average[averef].Nm = k + 2;
+    average[averef].Nmeasure = k + 2;
     next[m] = Nm;
     if (m >= Nmeasure) {
@@ -168,7 +168,7 @@
   ALLOCATE (tmpmeasure, Measure, Nmeasure);
   for (i = 0; i < Naverage; i++) {
-    n = average[i].offset;
-    average[i].offset = N;
-    for (k = 0; k < average[i].Nm; k++, N++) {
+    n = average[i].measureOffset;
+    average[i].measureOffset = N;
+    for (k = 0; k < average[i].Nmeasure; k++, N++) {
       tmpmeasure[N] = measure[n]; 
       tmpmeasure[N].averef = i;
@@ -189,7 +189,7 @@
   ALLOCATE (tmpmissing, Missing, Nmissing);
   for (i = 0; i < Naverage; i++) {
-    n = average[i].missing;
-    average[i].missing = N;
-    for (k = 0; k < average[i].Nn; k++, N++) {
+    n = average[i].missingOffset;
+    average[i].missingOffset = N;
+    for (k = 0; k < average[i].Nmissing; k++, N++) {
       tmpmissing[N] = missing[n]; 
       n = next[n];
Index: /branches/eam_branch_20080223/Ohana/src/addstar/src/calibrate.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/addstar/src/calibrate.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/addstar/src/calibrate.c	(revision 16633)
@@ -97,6 +97,6 @@
   }
 
-  m = average[0].offset;
-  for (i = 0; i < average[0].Nm; i++) {
+  m = average[0].measureOffset;
+  for (i = 0; i < average[0].Nmeasure; i++) {
     if (measure[m].photcode == CalC0) { 
       found0 = TRUE; 
Index: /branches/eam_branch_20080223/Ohana/src/addstar/src/find_matches.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/addstar/src/find_matches.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/addstar/src/find_matches.c	(revision 16633)
@@ -233,5 +233,5 @@
       /* Nm is updated, but not written out in -update mode (for existing entries)
 	 Nm is recalculated in build_meas_links if loaded table is not sorted */
-      catalog[0].average[n].Nm ++;
+      catalog[0].average[n].Nmeasure ++;
       Nmeas ++;
 
@@ -263,12 +263,12 @@
     if (!IN_REGION (stars[N].R, stars[N].D)) continue;
 
-    catalog[0].average[Nave].R         = stars[N].R;
-    catalog[0].average[Nave].D         = stars[N].D;
-    catalog[0].average[Nave].Xp        = 0;
-    catalog[0].average[Nave].Nm        = 1;
-    catalog[0].average[Nave].Nn        = 0;
-    catalog[0].average[Nave].offset    = Nmeas;
-    catalog[0].average[Nave].missing   = -1;
-    catalog[0].average[Nave].code      = 0;
+    catalog[0].average[Nave].R         	   = stars[N].R;
+    catalog[0].average[Nave].D         	   = stars[N].D;
+    catalog[0].average[Nave].Xp        	   = 0;
+    catalog[0].average[Nave].Nmeasure      = 1;
+    catalog[0].average[Nave].Nmissing      = 0;
+    catalog[0].average[Nave].measureOffset = Nmeas;
+    catalog[0].average[Nave].missingOffset = -1;
+    catalog[0].average[Nave].code          = 0;
 
     catalog[0].average[Nave].dR        = 0;
Index: /branches/eam_branch_20080223/Ohana/src/addstar/src/find_matches_closest.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/addstar/src/find_matches_closest.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/addstar/src/find_matches_closest.c	(revision 16633)
@@ -241,5 +241,5 @@
     stars[N].found = Nmeas;
     catalog[0].found[n] = Nmeas;
-    catalog[0].average[n].Nm ++;
+    catalog[0].average[n].Nmeasure ++;
     Nmeas ++;
     i++;
@@ -265,12 +265,12 @@
     if (!IN_REGION (stars[N].R, stars[N].D)) continue;
 
-    catalog[0].average[Nave].R         = stars[N].R;
-    catalog[0].average[Nave].D         = stars[N].D;
-    catalog[0].average[Nave].Xp        = 0;
-    catalog[0].average[Nave].Nm        = 1;
-    catalog[0].average[Nave].Nn        = 0;
-    catalog[0].average[Nave].offset    = Nmeas;
-    catalog[0].average[Nave].missing   = -1;
-    catalog[0].average[Nave].code      = 0;
+    catalog[0].average[Nave].R         	   = stars[N].R;
+    catalog[0].average[Nave].D         	   = stars[N].D;
+    catalog[0].average[Nave].Xp        	   = 0;
+    catalog[0].average[Nave].Nmeasure  	   = 1;
+    catalog[0].average[Nave].Nmissing  	   = 0;
+    catalog[0].average[Nave].measureOffset = Nmeas;
+    catalog[0].average[Nave].missingOffset = -1;
+    catalog[0].average[Nave].code          = 0;
 
     catalog[0].average[Nave].dR        = 0;
Index: /branches/eam_branch_20080223/Ohana/src/addstar/src/find_matches_refstars.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/addstar/src/find_matches_refstars.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/addstar/src/find_matches_refstars.c	(revision 16633)
@@ -115,5 +115,5 @@
       n = N2[J];
       N = N1[i];
-      m = catalog[0].average[n].offset;  
+      m = catalog[0].average[n].measureOffset;  
 
       /** in replace mode, search for entry and replace values M, dM, R, D */
@@ -122,5 +122,5 @@
       /** insert star in measurement list */
       /* find last measurement of this star */
-      for (k = 0; k < catalog[0].average[n].Nm - 1; k++) m = next[m];
+      for (k = 0; k < catalog[0].average[n].Nmeasure - 1; k++) m = next[m];
       /* set up references */
       next[Nmeas] = next[m];
@@ -199,5 +199,5 @@
       }
 
-      catalog[0].average[n].Nm ++;
+      catalog[0].average[n].Nmeasure ++;
       Nmeas ++;
       if (Nmeas == NMEAS) {
@@ -224,12 +224,12 @@
     if (stars[N][0].found >= 0) continue;
 
-    catalog[0].average[Nave].R         = stars[N][0].R;
-    catalog[0].average[Nave].D         = stars[N][0].D;
-    catalog[0].average[Nave].Xp        = 0;
-    catalog[0].average[Nave].Nm        = 1;
-    catalog[0].average[Nave].Nn        = 0;
-    catalog[0].average[Nave].offset    = Nmeas;
-    catalog[0].average[Nave].missing   = -1;
-    catalog[0].average[Nave].code      = 0;
+    catalog[0].average[Nave].R         	   = stars[N][0].R;
+    catalog[0].average[Nave].D         	   = stars[N][0].D;
+    catalog[0].average[Nave].Xp        	   = 0;
+    catalog[0].average[Nave].Nmeasure      = 1;
+    catalog[0].average[Nave].Nmissing      = 0;
+    catalog[0].average[Nave].measureOffset = Nmeas;
+    catalog[0].average[Nave].missingOffset = -1;
+    catalog[0].average[Nave].code          = 0;
 
     if (ACCEPT_MOTION) {
@@ -324,7 +324,7 @@
   ALLOCATE (tmpmeasure, Measure, Nmeas);
   for (i = 0; i < Nave; i++) {
-    n = catalog[0].average[i].offset;
-    catalog[0].average[i].offset = N;
-    for (k = 0; k < catalog[0].average[i].Nm; k++, N++) {
+    n = catalog[0].average[i].measureOffset;
+    catalog[0].average[i].measureOffset = N;
+    for (k = 0; k < catalog[0].average[i].Nmeasure; k++, N++) {
       tmpmeasure[N] = catalog[0].measure[n]; 
       tmpmeasure[N].averef = i;
@@ -339,8 +339,8 @@
   ALLOCATE (tmpmissing, Missing, Nmiss);
   for (i = 0; i < Nave; i++) {
-    if (catalog[0].average[i].Nn > 0) {
-      n = catalog[0].average[i].missing;
-      catalog[0].average[i].missing = N;
-      for (k = 0; k < catalog[0].average[i].Nn; k++, N++) {
+    if (catalog[0].average[i].Nmissing > 0) {
+      n = catalog[0].average[i].missingOffset;
+      catalog[0].average[i].missingOffset = N;
+      for (k = 0; k < catalog[0].average[i].Nmissing; k++, N++) {
 	tmpmissing[N] = catalog[0].missing[n]; 
 	n = next_miss[n];
Index: /branches/eam_branch_20080223/Ohana/src/addstar/src/load2mass_catalog.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/addstar/src/load2mass_catalog.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/addstar/src/load2mass_catalog.c	(revision 16633)
@@ -32,10 +32,10 @@
 
     // XXX for now, set the average mag data to NULL
-    catalog[0].average[Nave].Nm        = 0;
-    catalog[0].average[Nave].Nn        = 0;
-    catalog[0].average[Nave].Xp        = NAN_S_SHORT;
-    catalog[0].average[Nave].offset    = Nmeas;
-    catalog[0].average[Nave].missing   = -1;
-    catalog[0].average[Nave].code      = 0;
+    catalog[0].average[Nave].Nmeasure  	   = 0;
+    catalog[0].average[Nave].Nmissing  	   = 0;
+    catalog[0].average[Nave].Xp        	   = NAN_S_SHORT;
+    catalog[0].average[Nave].measureOffset = Nmeas;
+    catalog[0].average[Nave].missingOffset = -1;
+    catalog[0].average[Nave].code          = 0;
 
     for (j = 0; j < Nsec; j++) {
@@ -65,5 +65,5 @@
       catalog[0].measure[Nmeas].theta    = NAN_S_SHORT;
 
-      catalog[0].average[Nave].Nm++;
+      catalog[0].average[Nave].Nmeasure++;
       Nmeas ++;
       CHECK_REALLOCATE (catalog[0].measure, Measure, NMEAS, Nmeas, 100);
Index: /branches/eam_branch_20080223/Ohana/src/addstar/src/replace_match.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/addstar/src/replace_match.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/addstar/src/replace_match.c	(revision 16633)
@@ -6,5 +6,5 @@
 
   /* search for entry and replace values M, dM, R, D */
-  for (i = 0; i < average[0].Nm; i++) {
+  for (i = 0; i < average[0].Nmeasure; i++) {
     if (measure[i].photcode != star[0].code) continue;
     measure[i].dR = 3600.0*(average[0].R - star[0].R);
@@ -12,5 +12,5 @@
     measure[i].M  = star[0].M;
     measure[i].dM = star[0].dM;
-    star[0].found = average[0].offset + i;
+    star[0].found = average[0].measureOffset + i;
     return (TRUE);
   }
Index: /branches/eam_branch_20080223/Ohana/src/addstar/src/update_coords.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/addstar/src/update_coords.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/addstar/src/update_coords.c	(revision 16633)
@@ -10,9 +10,9 @@
   Npt = r = d = r2 = d2 = 0;
 
-  if (average[0].Nm < 2) return;
+  if (average[0].Nmeasure < 2) return;
 
   /* find the average & sum-square (does not use reference coordinates) */
-  m = average[0].offset;  /* first measurement of this star */
-  for (i = 0; i < average[0].Nm; i++) {
+  m = average[0].measureOffset;  /* first measurement of this star */
+  for (i = 0; i < average[0].Nmeasure; i++) {
     if (measure[m].t == 0) {
       m = next[m];
@@ -35,6 +35,6 @@
   average[0].R -= r / 3600.0;
   average[0].D -= d / 3600.0;
-  m = average[0].offset;  /* first measurement of this star */
-  for (i = 0; i < average[0].Nm; i++) {
+  m = average[0].measureOffset;  /* first measurement of this star */
+  for (i = 0; i < average[0].Nmeasure; i++) {
     measure[m].dR -= r;
     measure[m].dD -= d;
Index: /branches/eam_branch_20080223/Ohana/src/delstar/src/find_matches.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/delstar/src/find_matches.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/delstar/src/find_matches.c	(revision 16633)
@@ -37,6 +37,6 @@
   /* set up references for missing to average */
   for (i = 0; i < Nave; i++) {
-    for (j = 0; j < catalog[0].average[i].Nn; j++) {
-      ave_miss[catalog[0].average[i].missing + j] = i;
+    for (j = 0; j < catalog[0].average[i].Nmissing; j++) {
+      ave_miss[catalog[0].average[i].missingOffset + j] = i;
     }
   }
@@ -88,18 +88,18 @@
     /*** fix the corresponding average entry ***/
     n = catalog[0].measure[i].averef;
-    if (catalog[0].average[n].Nm == 0) { /* this should never happen */
+    if (catalog[0].average[n].Nmeasure == 0) { /* this should never happen */
       fprintf (stderr, "error? we deleted one too many objects?\n");
       exit (1);
     }
-    catalog[0].average[n].Nm --;
+    catalog[0].average[n].Nmeasure --;
     /* this was only entry in list: will be deleted below.  meanwhile, delete all missing entries*/
-    if ((catalog[0].average[n].Nm < 1) && (catalog[0].average[n].Nn > 0)) { 
-      m = catalog[0].average[n].missing;
-      for (j = 0; j < catalog[0].average[n].Nn; j++) {
+    if ((catalog[0].average[n].Nmeasure < 1) && (catalog[0].average[n].Nmissing > 0)) { 
+      m = catalog[0].average[n].missingOffset;
+      for (j = 0; j < catalog[0].average[n].Nmissing; j++) {
 	M = next_miss[m];
 	next_miss[m] = -2;
 	m = M;
       }
-      m = catalog[0].average[n].missing;
+      m = catalog[0].average[n].missingOffset;
       /* fix the list links: connect the previous valid link to the next valid link */
       for (j = m; (j >= 0) && (next_miss[j] == -2); j--); /* find previous entry to fix link */
@@ -119,9 +119,9 @@
     }
     /* this was first entry in list */
-    if ((catalog[0].average[n].offset == i) && (catalog[0].average[n].Nm > 0)) { 
-      m = catalog[0].average[n].offset;
+    if ((catalog[0].average[n].measureOffset == i) && (catalog[0].average[n].Nmeasure > 0)) { 
+      m = catalog[0].average[n].measureOffset;
       /* find next valid entry -- notice lack of error checking... */
       for (j = 0; (j < Nmeas) && (next[m+j] == -2); j++);
-      catalog[0].average[n].offset = m + j;
+      catalog[0].average[n].measureOffset = m + j;
     }
   } 
@@ -154,14 +154,14 @@
     /*** fix the corresponding average entry ***/
     n = ave_miss[i];
-    if (catalog[0].average[n].Nn == 0) { /* this should never happen */
+    if (catalog[0].average[n].Nmissing == 0) { /* this should never happen */
       fprintf (stderr, "error? we deleted one too many missing?\n");
       exit (1);
     }
-    catalog[0].average[n].Nn --;
+    catalog[0].average[n].Nmissing --;
     /* this was first entry in list */
-    if ((catalog[0].average[n].missing == i) && (catalog[0].average[n].Nn > 0)) { 
-      m = catalog[0].average[n].missing;
+    if ((catalog[0].average[n].missingOffset == i) && (catalog[0].average[n].Nmissing > 0)) { 
+      m = catalog[0].average[n].missingOffset;
       for (j = 0; (j < Nmiss) && (next_miss[m+j] == -2); j++);
-      catalog[0].average[n].missing = m + j;
+      catalog[0].average[n].missingOffset = m + j;
     }
   }
@@ -172,5 +172,5 @@
   /* fix Average list: delete entries with Nm == 0 */
   for (i = j = 0; (i < Nave) && (j < Nave); i++, j++) {
-    for (; (j < Nave) && (catalog[0].average[j].Nm == 0); j++);
+    for (; (j < Nave) && (catalog[0].average[j].Nmeasure == 0); j++);
     if ((i != j) && (j < Nave)) {
       catalog[0].average[i] = catalog[0].average[j];
@@ -189,7 +189,7 @@
   ALLOCATE (tmpmeasure, Measure, Nmeas);
   for (i = 0; i < Nave; i++) {
-    n = catalog[0].average[i].offset;
-    catalog[0].average[i].offset = N;
-    for (k = 0; k < catalog[0].average[i].Nm; k++, N++) {
+    n = catalog[0].average[i].measureOffset;
+    catalog[0].average[i].measureOffset = N;
+    for (k = 0; k < catalog[0].average[i].Nmeasure; k++, N++) {
       if ((n == -1) || (n == -2)) {
 	fprintf (stderr, "error: linked list is confused\n");
@@ -211,8 +211,8 @@
   ALLOCATE (tmpmissing, Missing, Nmiss);
   for (i = 0; i < Nave; i++) {
-    if (catalog[0].average[i].Nn > 0) {
-      n = catalog[0].average[i].missing;
-      catalog[0].average[i].missing = N;
-      for (k = 0; k < catalog[0].average[i].Nn; k++, N++) {
+    if (catalog[0].average[i].Nmissing > 0) {
+      n = catalog[0].average[i].missingOffset;
+      catalog[0].average[i].missingOffset = N;
+      for (k = 0; k < catalog[0].average[i].Nmissing; k++, N++) {
 	if ((n == -1) || (n == -2)) {
 	  fprintf (stderr, "error: linked list is confused\n");
Index: /branches/eam_branch_20080223/Ohana/src/gastro/src/getptolemy.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/gastro/src/getptolemy.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/gastro/src/getptolemy.c	(revision 16633)
@@ -50,5 +50,5 @@
       stars[k].X = catalog.average[j].R;
       stars[k].Y = catalog.average[j].D;
-      stars[k].mag = catalog.measure[catalog.average[j].offset].M;
+      stars[k].mag = catalog.measure[catalog.average[j].measureOffset].M;
     }      
     dvo_catalog_free (&catalog);
Index: /branches/eam_branch_20080223/Ohana/src/gastro2/src/getptolemy.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/gastro2/src/getptolemy.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/gastro2/src/getptolemy.c	(revision 16633)
@@ -61,5 +61,5 @@
       Ref[0].stars[k].R = catalog.average[j].R;
       Ref[0].stars[k].D = catalog.average[j].D;
-      Ref[0].stars[k].M = catalog.measure[catalog.average[j].offset].M;
+      Ref[0].stars[k].M = catalog.measure[catalog.average[j].measureOffset].M;
     }      
     dvo_catalog_free (&catalog);
Index: /branches/eam_branch_20080223/Ohana/src/getstar/src/select_by_region.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/getstar/src/select_by_region.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/getstar/src/select_by_region.c	(revision 16633)
@@ -54,6 +54,6 @@
 	mag = catalog[0].secfilt[i*Nsecfilt + Nsec].M;
       } else {
-	offset = catalog[0].average[i].offset;
-	for (m = 0; m < catalog[0].average[i].Nm; m++) {
+	offset = catalog[0].average[i].measureOffset;
+	for (m = 0; m < catalog[0].average[i].Nmeasure; m++) {
 	  if (catalog[0].measure[offset + m].photcode == code) {
 	    mag = PhotRel (&catalog[0].measure[offset + m], &catalog[0].average[i], &catalog[0].secfilt[i*Nsecfilt]);
@@ -66,5 +66,5 @@
 
     output[0].average[Nave] = catalog[0].average[i];
-    output[0].average[Nave].offset = Nmeas;
+    output[0].average[Nave].measureOffset = Nmeas;
     for (j = 0; j < Nsecfilt; j++) {
       output[0].secfilt[Nsecfilt*Nave + j] = catalog[0].secfilt[Nsecfilt*i + j];
@@ -72,7 +72,7 @@
 
     Nm = 0;
-    offset = catalog[0].average[i].offset;
+    offset = catalog[0].average[i].measureOffset;
 
-    for (j = 0; j < catalog[0].average[i].Nm; j++) {
+    for (j = 0; j < catalog[0].average[i].Nmeasure; j++) {
       output[0].measure[Nmeas] = catalog[0].measure[offset + j];
       output[0].measure[Nmeas].averef = Nave;
Index: /branches/eam_branch_20080223/Ohana/src/getstar/src/write_getstar_ps1_dev_0.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/getstar/src/write_getstar_ps1_dev_0.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/getstar/src/write_getstar_ps1_dev_0.c	(revision 16633)
@@ -58,6 +58,6 @@
     } else {
       output[i].mag = NAN;
-      offset = average[i].offset;
-      for (m = 0; m < average[i].Nm; m++) {
+      offset = average[i].measureOffset;
+      for (m = 0; m < average[i].Nmeasure; m++) {
         if (measure[offset + m].photcode == code_c0) {
           output[i].mag = PhotRel (&measure[offset + m], &average[i], &secfilt[i*Nsecfilt]);
@@ -72,6 +72,6 @@
     } else {
       output[i].c1 = NAN;
-      offset = average[i].offset;
-      for (m = 0; m < average[i].Nm; m++) {
+      offset = average[i].measureOffset;
+      for (m = 0; m < average[i].Nmeasure; m++) {
         if (measure[offset + m].photcode == code_c1) {
           output[i].c1 = PhotRel (&measure[offset + m], &average[i], &secfilt[i*Nsecfilt]);
@@ -86,6 +86,6 @@
     } else {
       output[i].c2 = NAN;
-      offset = average[i].offset;
-      for (m = 0; m < average[i].Nm; m++) {
+      offset = average[i].measureOffset;
+      for (m = 0; m < average[i].Nmeasure; m++) {
         if (measure[offset + m].photcode == code_c2) {
           output[i].c2 = PhotRel (&measure[offset + m], &average[i], &secfilt[i*Nsecfilt]);
Index: /branches/eam_branch_20080223/Ohana/src/getstar/src/write_getstar_ps1_dev_1.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/getstar/src/write_getstar_ps1_dev_1.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/getstar/src/write_getstar_ps1_dev_1.c	(revision 16633)
@@ -61,6 +61,6 @@
     } else {
       output[i].mag = NAN;
-      offset = average[i].offset;
-      for (m = 0; m < average[i].Nm; m++) {
+      offset = average[i].measureOffset;
+      for (m = 0; m < average[i].Nmeasure; m++) {
         if (measure[offset + m].photcode == code_c0) {
           output[i].mag = PhotRel (&measure[offset + m], &average[i], &secfilt[i*Nsecfilt]);
@@ -75,6 +75,6 @@
     } else {
       output[i].c1 = NAN;
-      offset = average[i].offset;
-      for (m = 0; m < average[i].Nm; m++) {
+      offset = average[i].measureOffset;
+      for (m = 0; m < average[i].Nmeasure; m++) {
         if (measure[offset + m].photcode == code_c1) {
           output[i].c1 = PhotRel (&measure[offset + m], &average[i], &secfilt[i*Nsecfilt]);
@@ -89,6 +89,6 @@
     } else {
       output[i].c2 = NAN;
-      offset = average[i].offset;
-      for (m = 0; m < average[i].Nm; m++) {
+      offset = average[i].measureOffset;
+      for (m = 0; m < average[i].Nmeasure; m++) {
         if (measure[offset + m].photcode == code_c2) {
           output[i].c2 = PhotRel (&measure[offset + m], &average[i], &secfilt[i*Nsecfilt]);
Index: /branches/eam_branch_20080223/Ohana/src/getstar/src/write_getstar_ps1_dev_2.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/getstar/src/write_getstar_ps1_dev_2.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/getstar/src/write_getstar_ps1_dev_2.c	(revision 16633)
@@ -67,6 +67,6 @@
     } else {
       output[i].mag = NAN;
-      offset = average[i].offset;
-      for (m = 0; m < average[i].Nm; m++) {
+      offset = average[i].measureOffset;
+      for (m = 0; m < average[i].Nmeasure; m++) {
         if (measure[offset + m].photcode == code_c0) {
           output[i].mag = PhotRel (&measure[offset + m], &average[i], &secfilt[i*Nsecfilt]);
@@ -81,6 +81,6 @@
     } else {
       output[i].c1 = NAN;
-      offset = average[i].offset;
-      for (m = 0; m < average[i].Nm; m++) {
+      offset = average[i].measureOffset;
+      for (m = 0; m < average[i].Nmeasure; m++) {
         if (measure[offset + m].photcode == code_c1) {
           output[i].c1 = PhotRel (&measure[offset + m], &average[i], &secfilt[i*Nsecfilt]);
@@ -95,6 +95,6 @@
     } else {
       output[i].c2 = NAN;
-      offset = average[i].offset;
-      for (m = 0; m < average[i].Nm; m++) {
+      offset = average[i].measureOffset;
+      for (m = 0; m < average[i].Nmeasure; m++) {
         if (measure[offset + m].photcode == code_c2) {
           output[i].c2 = PhotRel (&measure[offset + m], &average[i], &secfilt[i*Nsecfilt]);
Index: /branches/eam_branch_20080223/Ohana/src/libautocode/def/average.d
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/libautocode/def/average.d	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/libautocode/def/average.d	(revision 16633)
@@ -2,5 +2,5 @@
 EXTNAME      DVO_AVERAGE
 TYPE         BINTABLE
-SIZE         72
+SIZE         80
 DESCRIPTION  DVO Average Object Table
 
@@ -19,10 +19,14 @@
 FIELD dP,             PAR_ERR,    float,            parallax error,               arcsec
 
-FIELD Xp,             SIGMA_POS,  short, 	    position scatter,   	  1/100 arcsec
-FIELD Nm,             NMEAS,      unsigned short,   number of measures
-FIELD Nn,             NMISS,      unsigned short,   number of missings
+FIELD Xp,             SIGMA_POS,   short, 	    position scatter,   	  1/100 arcsec
+FIELD Nmeasure,       NMEASURE,    unsigned short,  number of psf measurements
+FIELD Nmissing,       NMISSING,    unsigned short,  number of missings
+FIELD Nextend,        NEXTEND,     unsigned short,  number of extended measurements
+FIELD measureOffset,  OFF_MEASURE, int,     	    offset to first psf measurement
+FIELD missingOffset,  OFF_MISSING, int,     	    offset to first missing obs
+FIELD extendOffset,   OFF_EXTEND,  int,     	    offset to first extended measurement
+
 FIELD code,           code,       unsigned short,   ID code (star; ghost; etc)
-FIELD offset,         offset,     int,     	    offset to first measurement
-FIELD missing,        missing,    int,     	    offset to first missing obs
+FIELD dummy,          DUMMY,      char[2],          padding
 
 # Pan-STARRS uses a 64-bit detection ID.  keep this in two 32 bit ints for backwards compatibility?
Index: /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_catalog_chipcoords.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_catalog_chipcoords.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_catalog_chipcoords.c	(revision 16633)
@@ -54,6 +54,6 @@
   
   for (i = 0; i < catalog[0].Naverage; i++) {
-    m = average[i].offset;
-    for (j = 0; j < average[i].Nm; j++, m++) {
+    m = average[i].measureOffset;
+    for (j = 0; j < average[i].Nmeasure; j++, m++) {
       ra  = average[i].R - measure[m].dR / 3600.0;
       dec = average[i].D - measure[m].dD / 3600.0;
Index: /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_catalog_raw.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_catalog_raw.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_catalog_raw.c	(revision 16633)
@@ -188,6 +188,6 @@
   if (catalog[0].catflags & LOAD_AVES) {
     for (i = Nmeas = Nmiss = 0; i < catalog[0].Naverage; i++) {
-      Nmeas += catalog[0].average[i].Nm; 
-      Nmiss += catalog[0].average[i].Nn; 
+      Nmeas += catalog[0].average[i].Nmeasure; 
+      Nmiss += catalog[0].average[i].Nmissing; 
     }
     if ((Nmeas != catalog[0].Nmeasure) || (Nmiss != catalog[0].Nmissing)) {
Index: /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_1.c	(revision 16633)
@@ -101,44 +101,44 @@
 
   for (i = 0; i < Nvalues; i++) {
+    out[i].R        	 = in[i].R;      
+    out[i].D        	 = in[i].D;      
+    out[i].Xp       	 = in[i].Xp;     
+    out[i].Nmeasure      = in[i].Nm;     
+    out[i].Nmissing      = in[i].Nn;     
+    out[i].code     	 = in[i].code;   
+    out[i].measureOffset = in[i].offset; 
+    out[i].missingOffset = in[i].missing;
+    out[i].dR       	 = in[i].dR;
+    out[i].dD       	 = in[i].dD;
+    out[i].uR       	 = in[i].uR;
+    out[i].uD       	 = in[i].uD;
+    out[i].duR      	 = in[i].duR;
+    out[i].duD      	 = in[i].duD;
+    out[i].P        	 = in[i].P;
+    out[i].dP       	 = in[i].dP;
+    out[i].objID_hi 	 = in[i].objID_hi;
+    out[i].objID_lo 	 = in[i].objID_lo;
+  }
+  return (out);
+}
+
+/* convert internal averages to panstarrs-format averages */
+// 'primary is needed to conform with the API for Loneos and Elixir, but is not used
+Average_PS1_DEV_1 *AverageInternalTo_PS1_DEV_1 (Average *in, int Nvalues, SecFilt *primary) {
+
+  int i;
+  Average_PS1_DEV_1 *out;
+
+  ALLOCATE (out, Average_PS1_DEV_1, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
     out[i].R        = in[i].R;      
     out[i].D        = in[i].D;      
     out[i].Xp       = in[i].Xp;     
-    out[i].Nm       = in[i].Nm;     
-    out[i].Nn       = in[i].Nn;     
+    out[i].Nm       = in[i].Nmeasure;     
+    out[i].Nn       = in[i].Nmissing;     
     out[i].code     = in[i].code;   
-    out[i].offset   = in[i].offset; 
-    out[i].missing  = in[i].missing;
-    out[i].dR       = in[i].dR;
-    out[i].dD       = in[i].dD;
-    out[i].uR       = in[i].uR;
-    out[i].uD       = in[i].uD;
-    out[i].duR      = in[i].duR;
-    out[i].duD      = in[i].duD;
-    out[i].P        = in[i].P;
-    out[i].dP       = in[i].dP;
-    out[i].objID_hi = in[i].objID_hi;
-    out[i].objID_lo = in[i].objID_lo;
-  }
-  return (out);
-}
-
-/* convert internal averages to panstarrs-format averages */
-// 'primary is needed to conform with the API for Loneos and Elixir, but is not used
-Average_PS1_DEV_1 *AverageInternalTo_PS1_DEV_1 (Average *in, int Nvalues, SecFilt *primary) {
-
-  int i;
-  Average_PS1_DEV_1 *out;
-
-  ALLOCATE (out, Average_PS1_DEV_1, Nvalues);
-
-  for (i = 0; i < Nvalues; i++) {
-    out[i].R        = in[i].R;      
-    out[i].D        = in[i].D;      
-    out[i].Xp       = in[i].Xp;     
-    out[i].Nm       = in[i].Nm;     
-    out[i].Nn       = in[i].Nn;     
-    out[i].code     = in[i].code;   
-    out[i].offset   = in[i].offset; 
-    out[i].missing  = in[i].missing;
+    out[i].offset   = in[i].measureOffset; 
+    out[i].missing  = in[i].missingOffset;
     out[i].dR       = in[i].dR;
     out[i].dD       = in[i].dD;
Index: /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_elixir.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_elixir.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_elixir.c	(revision 16633)
@@ -95,12 +95,12 @@
 
   for (i = 0; i < Nvalues; i++) {
-    out[i].R       = in[i].R;      
-    out[i].D       = in[i].D;      
-    out[i].Xp      = in[i].Xp;     
-    out[i].Nm      = in[i].Nm;     
-    out[i].Nn      = in[i].Nn;     
-    out[i].code    = in[i].code;   
-    out[i].offset  = in[i].offset; 
-    out[i].missing = in[i].missing;
+    out[i].R       	 = in[i].R;      
+    out[i].D       	 = in[i].D;      
+    out[i].Xp      	 = in[i].Xp;     
+    out[i].Nmeasure 	 = in[i].Nm;     
+    out[i].Nmissing 	 = in[i].Nn;     
+    out[i].code     	 = in[i].code;   
+    out[i].measureOffset = in[i].offset; 
+    out[i].missingOffset = in[i].missing;
 
     /* these don't exist in Elixir */
@@ -139,9 +139,9 @@
     out[i].D       = in[i].D;      
     out[i].Xp      = in[i].Xp;     
-    out[i].Nm      = in[i].Nm;     
-    out[i].Nn      = in[i].Nn;     
+    out[i].Nm      = in[i].Nmeasure;     
+    out[i].Nn      = in[i].Nmissing;     
     out[i].code    = in[i].code;   
-    out[i].offset  = in[i].offset; 
-    out[i].missing = in[i].missing;
+    out[i].offset  = in[i].measureOffset; 
+    out[i].missing = in[i].missingOffset;
 
     out[i].M       = isnan(primary[i].M)  ? NAN_S_SHORT : primary[i].M   * 1000.0;
Index: /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_loneos.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_loneos.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_loneos.c	(revision 16633)
@@ -87,12 +87,12 @@
 
   for (i = 0; i < Nvalues; i++) {
-    out[i].R       = in[i].R;      
-    out[i].D       = in[i].D;      
-    out[i].Xp      = in[i].Xp;     
-    out[i].Nm      = in[i].Nm;     
-    out[i].Nn      = in[i].Nn;     
-    out[i].code    = in[i].code;   
-    out[i].offset  = in[i].offset; 
-    out[i].missing = in[i].missing;
+    out[i].R       	 = in[i].R;      
+    out[i].D       	 = in[i].D;      
+    out[i].Xp      	 = in[i].Xp;     
+    out[i].Nmeasure      = in[i].Nm;     
+    out[i].Nmissing      = in[i].Nn;     
+    out[i].code    	 = in[i].code;   
+    out[i].measureOffset = in[i].offset; 
+    out[i].missingOffset = in[i].missing;
 
     /* these don't exist in Loneos */
@@ -131,9 +131,9 @@
     out[i].D       = in[i].D;      
     out[i].Xp      = in[i].Xp;     
-    out[i].Nm      = in[i].Nm;     
-    out[i].Nn      = in[i].Nn;     
+    out[i].Nm      = in[i].Nmeasure;     
+    out[i].Nn      = in[i].Nmissing;     
     out[i].code    = in[i].code;   
-    out[i].offset  = in[i].offset; 
-    out[i].missing = in[i].missing;
+    out[i].offset  = in[i].measureOffset; 
+    out[i].missing = in[i].missingOffset;
 
     out[i].M       = isnan(primary[i].M)  ? NAN_S_SHORT : primary[i].M   * 1000.0;
Index: /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_0.c	(revision 16633)
@@ -99,44 +99,44 @@
 
   for (i = 0; i < Nvalues; i++) {
+    out[i].R        	 = in[i].R;      
+    out[i].D        	 = in[i].D;      
+    out[i].Xp       	 = in[i].Xp;     
+    out[i].Nmeasure      = in[i].Nm;     
+    out[i].Nmissing      = in[i].Nn;     
+    out[i].code          = in[i].code;   
+    out[i].measureOffset = in[i].offset; 
+    out[i].missingOffset = in[i].missing;
+    out[i].dR       	 = in[i].dR;
+    out[i].dD       	 = in[i].dD;
+    out[i].uR       	 = in[i].uR;
+    out[i].uD       	 = in[i].uD;
+    out[i].duR      	 = in[i].duR;
+    out[i].duD      	 = in[i].duD;
+    out[i].P        	 = in[i].P;
+    out[i].dP       	 = in[i].dP;
+    out[i].objID_hi 	 = in[i].objID_hi;
+    out[i].objID_lo 	 = in[i].objID_lo;
+  }
+  return (out);
+}
+
+/* convert internal averages to panstarrs-format averages */
+// 'primary is needed to conform with the API for Loneos and Elixir, but is not used
+Average_Panstarrs_DEV_0 *AverageInternalTo_Panstarrs_DEV_0 (Average *in, int Nvalues, SecFilt *primary) {
+
+  int i;
+  Average_Panstarrs_DEV_0 *out;
+
+  ALLOCATE (out, Average_Panstarrs_DEV_0, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
     out[i].R        = in[i].R;      
     out[i].D        = in[i].D;      
     out[i].Xp       = in[i].Xp;     
-    out[i].Nm       = in[i].Nm;     
-    out[i].Nn       = in[i].Nn;     
+    out[i].Nm       = in[i].Nmeasure;     
+    out[i].Nn       = in[i].Nmissing;     
     out[i].code     = in[i].code;   
-    out[i].offset   = in[i].offset; 
-    out[i].missing  = in[i].missing;
-    out[i].dR       = in[i].dR;
-    out[i].dD       = in[i].dD;
-    out[i].uR       = in[i].uR;
-    out[i].uD       = in[i].uD;
-    out[i].duR      = in[i].duR;
-    out[i].duD      = in[i].duD;
-    out[i].P        = in[i].P;
-    out[i].dP       = in[i].dP;
-    out[i].objID_hi = in[i].objID_hi;
-    out[i].objID_lo = in[i].objID_lo;
-  }
-  return (out);
-}
-
-/* convert internal averages to panstarrs-format averages */
-// 'primary is needed to conform with the API for Loneos and Elixir, but is not used
-Average_Panstarrs_DEV_0 *AverageInternalTo_Panstarrs_DEV_0 (Average *in, int Nvalues, SecFilt *primary) {
-
-  int i;
-  Average_Panstarrs_DEV_0 *out;
-
-  ALLOCATE (out, Average_Panstarrs_DEV_0, Nvalues);
-
-  for (i = 0; i < Nvalues; i++) {
-    out[i].R        = in[i].R;      
-    out[i].D        = in[i].D;      
-    out[i].Xp       = in[i].Xp;     
-    out[i].Nm       = in[i].Nm;     
-    out[i].Nn       = in[i].Nn;     
-    out[i].code     = in[i].code;   
-    out[i].offset   = in[i].offset; 
-    out[i].missing  = in[i].missing;
+    out[i].offset   = in[i].measureOffset; 
+    out[i].missing  = in[i].missingOffset;
     out[i].dR       = in[i].dR;
     out[i].dD       = in[i].dD;
Index: /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_convert_panstarrs_DEV_1.c	(revision 16633)
@@ -99,44 +99,44 @@
 
   for (i = 0; i < Nvalues; i++) {
+    out[i].R        	 = in[i].R;      
+    out[i].D        	 = in[i].D;      
+    out[i].Xp       	 = in[i].Xp;     
+    out[i].Nmeasure      = in[i].Nm;     
+    out[i].Nmissing      = in[i].Nn;     
+    out[i].code     	 = in[i].code;   
+    out[i].measureOffset = in[i].offset; 
+    out[i].missingOffset = in[i].missing;
+    out[i].dR       	 = in[i].dR;
+    out[i].dD       	 = in[i].dD;
+    out[i].uR       	 = in[i].uR;
+    out[i].uD       	 = in[i].uD;
+    out[i].duR      	 = in[i].duR;
+    out[i].duD      	 = in[i].duD;
+    out[i].P        	 = in[i].P;
+    out[i].dP       	 = in[i].dP;
+    out[i].objID_hi 	 = in[i].objID_hi;
+    out[i].objID_lo 	 = in[i].objID_lo;
+  }
+  return (out);
+}
+
+/* convert internal averages to panstarrs-format averages */
+// 'primary is needed to conform with the API for Loneos and Elixir, but is not used
+Average_Panstarrs_DEV_1 *AverageInternalTo_Panstarrs_DEV_1 (Average *in, int Nvalues, SecFilt *primary) {
+
+  int i;
+  Average_Panstarrs_DEV_1 *out;
+
+  ALLOCATE (out, Average_Panstarrs_DEV_1, Nvalues);
+
+  for (i = 0; i < Nvalues; i++) {
     out[i].R        = in[i].R;      
     out[i].D        = in[i].D;      
     out[i].Xp       = in[i].Xp;     
-    out[i].Nm       = in[i].Nm;     
-    out[i].Nn       = in[i].Nn;     
+    out[i].Nm       = in[i].Nmeasure;     
+    out[i].Nn       = in[i].Nmissing;     
     out[i].code     = in[i].code;   
-    out[i].offset   = in[i].offset; 
-    out[i].missing  = in[i].missing;
-    out[i].dR       = in[i].dR;
-    out[i].dD       = in[i].dD;
-    out[i].uR       = in[i].uR;
-    out[i].uD       = in[i].uD;
-    out[i].duR      = in[i].duR;
-    out[i].duD      = in[i].duD;
-    out[i].P        = in[i].P;
-    out[i].dP       = in[i].dP;
-    out[i].objID_hi = in[i].objID_hi;
-    out[i].objID_lo = in[i].objID_lo;
-  }
-  return (out);
-}
-
-/* convert internal averages to panstarrs-format averages */
-// 'primary is needed to conform with the API for Loneos and Elixir, but is not used
-Average_Panstarrs_DEV_1 *AverageInternalTo_Panstarrs_DEV_1 (Average *in, int Nvalues, SecFilt *primary) {
-
-  int i;
-  Average_Panstarrs_DEV_1 *out;
-
-  ALLOCATE (out, Average_Panstarrs_DEV_1, Nvalues);
-
-  for (i = 0; i < Nvalues; i++) {
-    out[i].R        = in[i].R;      
-    out[i].D        = in[i].D;      
-    out[i].Xp       = in[i].Xp;     
-    out[i].Nm       = in[i].Nm;     
-    out[i].Nn       = in[i].Nn;     
-    out[i].code     = in[i].code;   
-    out[i].offset   = in[i].offset; 
-    out[i].missing  = in[i].missing;
+    out[i].offset   = in[i].measureOffset; 
+    out[i].missing  = in[i].missingOffset;
     out[i].dR       = in[i].dR;
     out[i].dD       = in[i].dD;
Index: /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_photcode_ops.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_photcode_ops.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/libdvo/src/dvo_photcode_ops.c	(revision 16633)
@@ -370,5 +370,5 @@
   if (color == NULL) return (NAN);
   if (color[0].type == PHOT_REF) {
-    for (i = 0; (i < average[0].Nm) && (isnan(m1)); i++) {
+    for (i = 0; (i < average[0].Nmeasure) && (isnan(m1)); i++) {
       if (measure[i].photcode == color[0].code) {
 	m1 = measure[i].M;
@@ -384,5 +384,5 @@
   if (color == NULL) return (NAN);
   if (color[0].type == PHOT_REF) {
-    for (i = 0; (i < average[0].Nm) && (isnan(m2)); i++) {
+    for (i = 0; (i < average[0].Nmeasure) && (isnan(m2)); i++) {
       if (measure[i].photcode == color[0].code) {
 	m2 = measure[i].M;
@@ -466,5 +466,5 @@
   if (code == NULL) return (FALSE);
   if (code[0].type == PHOT_REF) {
-    for (i = 0; i < average[0].Nm; i++) {
+    for (i = 0; i < average[0].Nmeasure; i++) {
       if (measure[i].photcode == c1) {
 	M1 = measure[i].M;
@@ -482,5 +482,5 @@
   if (code == NULL) return (FALSE);
   if (code[0].type == PHOT_REF) {
-    for (i = 0; i < average[0].Nm; i++) {
+    for (i = 0; i < average[0].Nmeasure; i++) {
       if (measure[i].photcode == c2) {
 	M2 = measure[i].M;
Index: /branches/eam_branch_20080223/Ohana/src/mosastro/src/getptolemy.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/mosastro/src/getptolemy.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/mosastro/src/getptolemy.c	(revision 16633)
@@ -50,5 +50,5 @@
       stars[k].R = catalog.average[j].R;
       stars[k].D = catalog.average[j].D;
-      stars[k].M = catalog.measure[catalog.average[j].offset].M;
+      stars[k].M = catalog.measure[catalog.average[j].measureOffset].M;
     }      
     dvo_catalog_free (&catalog);
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/avextract.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/avextract.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/avextract.c	(revision 16633)
@@ -100,5 +100,5 @@
 
     for (j = 0; (j < catalog.Naverage) && !interrupt; j++) {
-      m = catalog.average[j].offset;
+      m = catalog.average[j].measureOffset;
       // extract the relevant values
       // XXX for measure values, this could be optimized for one loop over measures...
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/ccd.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/ccd.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/ccd.c	(revision 16633)
@@ -72,5 +72,5 @@
     for (i = 0; i < catalog.Naverage; i++) {
       M1 = M2 = NULL;
-      m = catalog.average[i].offset;
+      m = catalog.average[i].measureOffset;
 
       SetSelectionParam (0);
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/cmd.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/cmd.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/cmd.c	(revision 16633)
@@ -70,5 +70,5 @@
     for (i = 0; i < catalog.Naverage; i++) {
       M1 = M3 = NULL;
-      m = catalog.average[i].offset;
+      m = catalog.average[i].measureOffset;
 
       SetSelectionParam (0);
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/dbExtractAverages.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/dbExtractAverages.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/dbExtractAverages.c	(revision 16633)
@@ -45,8 +45,8 @@
 
     case AVE_NMEAS:
-      value = average[0].Nm;
+      value = average[0].Nmeasure;
       break;
     case AVE_NMISS:
-      value = average[0].Nn;
+      value = average[0].Nmissing;
       break;
     case AVE_Xp:
@@ -72,5 +72,5 @@
 	  // XXX need to code this correctly: this returns just the first matching value
 	  value = NAN;
-	  for (i = 0; i < average[0].Nm; i++) {
+	  for (i = 0; i < average[0].Nmeasure; i++) {
 	    if (field->photcode->code != measure[i].photcode) continue;
 	    value = measure[i].M;
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/dbExtractMeasures.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/dbExtractMeasures.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/dbExtractMeasures.c	(revision 16633)
@@ -111,8 +111,8 @@
       break;
     case MEAS_NMEAS: /* OK */
-      value = average[0].Nm;
+      value = average[0].Nmeasure;
       break;
     case MEAS_NMISS: /* OK */
-      value = average[0].Nn;
+      value = average[0].Nmissing;
       break;
     case MEAS_OBJFLAGS: /* OK */
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/fitcolors.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/fitcolors.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/fitcolors.c	(revision 16633)
@@ -216,5 +216,5 @@
 
 	  M1 = M2 = NULL;
-	  m = catalog[k].average[i].offset;
+	  m = catalog[k].average[i].measureOffset;
 
 	  SetSelectionParam (0);
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/fitsed.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/fitsed.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/fitsed.c	(revision 16633)
@@ -207,6 +207,6 @@
 
       // load the measurements for this source
-      m = catalog.average[i].offset;
-      for (j = 0; j < catalog.average[i].Nm; j++) {
+      m = catalog.average[i].measureOffset;
+      for (j = 0; j < catalog.average[i].Nmeasure; j++) {
 	idx = hashcode[catalog.measure[m+j].photcode];
 	if (idx == -1) continue;
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/gstar.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/gstar.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/gstar.c	(revision 16633)
@@ -151,5 +151,5 @@
 	gprint (GP_LOG, "%11.7f ", catalog.average[k].R);
 	gprint (GP_LOG, "%11.7f ", catalog.average[k].D);
-	gprint (GP_LOG, "%3d   ",  catalog.average[k].Nm);
+	gprint (GP_LOG, "%3d   ",  catalog.average[k].Nmeasure);
 	gprint (GP_LOG, "%4.1f ",  0.01*catalog.average[k].Xp);
 	gprint (GP_LOG, "%5d",     catalog.average[k].code);
@@ -188,6 +188,6 @@
 
       if (GetMeasures || SaveVectors) {
-	m = catalog.average[k].offset;
-	for (j = 0; j < catalog.average[k].Nm; j++, m++) {
+	m = catalog.average[k].measureOffset;
+	for (j = 0; j < catalog.average[k].Nmeasure; j++, m++) {
 
 	  Mcat = PhotCat (&catalog.measure[m]);
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/lcurve.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/lcurve.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/lcurve.c	(revision 16633)
@@ -122,6 +122,6 @@
     if (r < Radius2) {
       /* found star, extract measurements */
-      m = catalog.average[N1[i]].offset;
-      for (j = 0; j < catalog.average[N1[i]].Nm; j++, m++) {
+      m = catalog.average[N1[i]].measureOffset;
+      for (j = 0; j < catalog.average[N1[i]].Nmeasure; j++, m++) {
 	if (ErrorBars) dYvec.elements[N] = catalog.measure[m].dM;
 	Xvec.elements[N] = TimeValue (catalog.measure[m].t, TimeReference, TimeFormat);
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/lightcurve.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/lightcurve.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/lightcurve.c	(revision 16633)
@@ -105,6 +105,6 @@
       k = N1[i];
       /* found star, extract measurements */
-      m = catalog.average[k].offset;
-      for (j = 0; j < catalog.average[k].Nm; j++, m++) {
+      m = catalog.average[k].measureOffset;
+      for (j = 0; j < catalog.average[k].Nmeasure; j++, m++) {
 
 	if (PhotCodeSelect) {
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/mextract.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/mextract.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/mextract.c	(revision 16633)
@@ -120,6 +120,6 @@
 
     for (j = 0; (j < catalog.Naverage) && !interrupt; j++) {
-      m = catalog.average[j].offset;
-      for (k = 0; (k < catalog.average[j].Nm); k++, m++) {
+      m = catalog.average[j].measureOffset;
+      for (k = 0; (k < catalog.average[j].Nmeasure); k++, m++) {
 
 	// extract the relevant values for this measurement
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/photometry.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/photometry.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/photometry.c	(revision 16633)
@@ -562,5 +562,5 @@
   *nlist = 0; 
   Nlist = 0;
-  NLIST = MAX (1, average[0].Nm);
+  NLIST = MAX (1, average[0].Nmeasure);
   ALLOCATE (list, double, NLIST);
 
@@ -569,5 +569,5 @@
 
   /* look for measures */
-  for (i = 0; i < average[0].Nm; i++) {
+  for (i = 0; i < average[0].Nmeasure; i++) {
     TESTCODE (code, measure[i]);  /* skip measurements not matching photcode */
     TESTMEASURE (measure[i]);     /* exclusions based on measure.params  */
@@ -633,8 +633,8 @@
 
     case AVE_NMEAS:
-      value = average[0].Nm;
+      value = average[0].Nmeasure;
       break;
     case AVE_NMISS:
-      value = average[0].Nn;
+      value = average[0].Nmissing;
       break;
     case AVE_Xp:
@@ -658,5 +658,5 @@
 	case MAG_CAL:
 	  value = NAN;
-	  for (i = 0; i < average[0].Nm; i++) {
+	  for (i = 0; i < average[0].Nmeasure; i++) {
 	      if (code[0].code != measure[i].photcode) continue;
 	      value = measure[i].M;
@@ -679,5 +679,5 @@
     case AVE_NCODE:
       value = 0;
-      for (i = 0; i < average[0].Nm; i++) {
+      for (i = 0; i < average[0].Nmeasure; i++) {
 	if (code[0].code != GetPhotcodeEquivCodebyCode (measure[i].photcode)) continue;
 	value ++;
@@ -686,5 +686,5 @@
     case AVE_NPHOT:
       value = 0;
-      for (i = 0; i < average[0].Nm; i++) {
+      for (i = 0; i < average[0].Nmeasure; i++) {
 	if (code[0].code != GetPhotcodeEquivCodebyCode (measure[i].photcode)) continue;
 	if (measure[i].dbFlags & (ID_MEAS_POOR | ID_MEAS_SKIP)) continue;
@@ -695,5 +695,5 @@
     case AVE_NCRIT:
       value = 0;
-      for (i = 0; i < average[0].Nm; i++) {
+      for (i = 0; i < average[0].Nmeasure; i++) {
 	if ((code != NULL) && (code[0].code != GetPhotcodeEquivCodebyCode (measure[i].photcode))) continue;
 	if (ErrSelect && (measure[i].dM > ErrValue)) continue;
@@ -716,5 +716,5 @@
   
   Nt = Nc = 0;
-  for (k = 0; k < average[0].Nm; k++) {
+  for (k = 0; k < average[0].Nmeasure; k++) {
     if ((code != NULL) && (code[0].code != GetPhotcodeEquivCodebyCode (measure[k].photcode))) continue;
     Nc ++;
@@ -732,5 +732,5 @@
   
   Nt[0] = Nt[1] = Nt[2] = 0;
-  for (k = 0; k < average[0].Nm; k++) {
+  for (k = 0; k < average[0].Nmeasure; k++) {
     if (code != GetPhotcodeEquivCodebyCode (measure[k].photcode)) continue;
     N = GetMeasureTypeCode (&measure[k]);
@@ -793,5 +793,5 @@
   if ((code != NULL) && (code[0].type == PHOT_REF)) {
     Nm = 0;
-    for (i = 0; i < average[0].Nm; i++) {
+    for (i = 0; i < average[0].Nmeasure; i++) {
       TESTCODE (code, measure[i]);
       Nm++;
@@ -805,5 +805,5 @@
   if (FWHMSelect) {
     Nm = 0;
-    for (i = 0; i < average[0].Nm; i++) {
+    for (i = 0; i < average[0].Nmeasure; i++) {
       fwhm = measure[i].FWx / 100.0;
       switch (FWHMsign) {
@@ -820,5 +820,5 @@
       Nm++;
     }
-    if (average[0].Nm * FWHMfrac > Nm) return (FALSE);
+    if (average[0].Nmeasure * FWHMfrac > Nm) return (FALSE);
   }
 
@@ -833,5 +833,5 @@
   if (NcodeSelect) {
     Nm = 0;
-    for (i = 0; i < average[0].Nm; i++) {
+    for (i = 0; i < average[0].Nmeasure; i++) {
       TESTCODE (code, measure[i]);
       Nm++;
@@ -872,5 +872,5 @@
   if (NphotSelect) {
     Nm = 0;
-    for (i = 0; i < average[0].Nm; i++) {
+    for (i = 0; i < average[0].Nmeasure; i++) {
       TESTCODE (code, measure[i]);
       if (measure[i].dbFlags && ID_MEAS_SKIP) continue;
@@ -931,5 +931,5 @@
    Ns    - secfilt entry (-1 for PRI)
    &catalog.average[i], 
-   &catalog.measure[catalog.average[i].offset], 
+   &catalog.measure[catalog.average[i].measureOffset], 
    &catalog.secfilt[i*Nsec] 
 */
@@ -974,5 +974,5 @@
   *nlist = 0; 
   Nlist = 0;
-  NLIST = MAX (1, average[0].Nm*average[0].Nm);
+  NLIST = MAX (1, average[0].Nmeasure*average[0].Nmeasure);
   ALLOCATE (list, double, NLIST);
   M1 = M2 = NULL;
@@ -1015,5 +1015,5 @@
   *nlist = 0; 
   Nlist = 0;
-  NLIST = MAX (1, average[0].Nm*average[0].Nm);
+  NLIST = MAX (1, average[0].Nmeasure*average[0].Nmeasure);
   ALLOCATE (list, double, NLIST);
 
@@ -1031,10 +1031,10 @@
 
   /* loop twice over all measures */
-  for (i = 0; i < average[0].Nm; i++) {
+  for (i = 0; i < average[0].Nmeasure; i++) {
     SetSelectionParam (Np0);
     TESTCODE (code[0], measure[i]);
     TESTMEASURE (measure[i]);
     SETMAG(M1, measure[i], mode[0]);
-    for (j = 0; j < average[0].Nm; j++) {
+    for (j = 0; j < average[0].Nmeasure; j++) {
       if (i == j) continue;
       SetSelectionParam (Np1);
@@ -1086,5 +1086,5 @@
   *nlist = 0; 
   Nlist = 0;
-  NLIST = MAX (1, average[0].Nm*average[0].Nm);
+  NLIST = MAX (1, average[0].Nmeasure*average[0].Nmeasure);
   ALLOCATE (list, double, NLIST);
 
@@ -1099,9 +1099,9 @@
 
   /* loop twice over all measures */
-  for (i = 0; i < average[0].Nm; i++) {
+  for (i = 0; i < average[0].Nmeasure; i++) {
     TESTCODE (code[0], measure[i]);
     TESTMEASURE (measure[i]);
     SETMAG(M1, measure[i], mode[0]);
-    for (j = 0; j < average[0].Nm; j++) {
+    for (j = 0; j < average[0].Nmeasure; j++) {
       if (i == j) continue;
       TESTCODE (code[1], measure[j]);
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/pmeasure.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/pmeasure.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/pmeasure.c	(revision 16633)
@@ -111,6 +111,6 @@
       while (catalog.average[i].R < Rmin) catalog.average[i].R += 360.0;
       while (catalog.average[i].R > Rmax) catalog.average[i].R -= 360.0;
-      m = catalog.average[i].offset;
-      for (k = 0; k < catalog.average[i].Nm; k++) {
+      m = catalog.average[i].measureOffset;
+      for (k = 0; k < catalog.average[i].Nmeasure; k++) {
 	if (FlagClip) {
 	  flags = catalog.measure[m+k].dbFlags;
Index: /branches/eam_branch_20080223/Ohana/src/opihi/dvo/subpix.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/opihi/dvo/subpix.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/opihi/dvo/subpix.c	(revision 16633)
@@ -130,6 +130,6 @@
 
   /* only print the entries for existing measurements of this star */ 
-  measure = &catalog.measure[catalog.average[Nentry].offset];
-  Nmeasure = catalog.average[Nentry].Nm;
+  measure = &catalog.measure[catalog.average[Nentry].measureOffset];
+  Nmeasure = catalog.average[Nentry].Nmeasure;
   for (i = 0; i < Nsub; i++) {
     I = index[i];
Index: /branches/eam_branch_20080223/Ohana/src/relastro/src/UpdateObjects.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relastro/src/UpdateObjects.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relastro/src/UpdateObjects.c	(revision 16633)
@@ -18,5 +18,5 @@
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
-      Nmax = MAX (Nmax, catalog[i].average[j].Nm);
+      Nmax = MAX (Nmax, catalog[i].average[j].Nmeasure);
     }
   }
@@ -81,10 +81,10 @@
 
       N = 0;
-      m = catalog[i].average[j].offset;
+      m = catalog[i].average[j].measureOffset;
 
       Tmin = Tmax = (catalog[i].measure[m].t - To) / (86400*365.25);
       mode = FIT_MODE;
 
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
 	
@@ -193,6 +193,6 @@
 
       // the measure fields must be updated before the average fields
-      m = catalog[i].average[j].offset;
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      m = catalog[i].average[j].measureOffset;
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
 	setMeanR (fit.Ro, &catalog[i].measure[m], &catalog[i].average[j], &catalog[i].secfilt[j*PhotNsec]);
Index: /branches/eam_branch_20080223/Ohana/src/relastro/src/bcatalog.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relastro/src/bcatalog.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relastro/src/bcatalog.c	(revision 16633)
@@ -22,9 +22,9 @@
   /* exclude stars not in range or with too few measurements */
   for (i = 0; i < catalog[0].Naverage; i++) {
-    if (catalog[0].average[i].Nm < 2) continue; 
+    if (catalog[0].average[i].Nmeasure < 2) continue; 
 
     /* start with all stars good */
     subcatalog[0].average[Naverage] = catalog[0].average[i];
-    subcatalog[0].average[Naverage].offset = Nmeasure;
+    subcatalog[0].average[Naverage].measureOffset = Nmeasure;
     for (j = 0; j < PhotNsec; j++) {
       subcatalog[0].secfilt[PhotNsec*Naverage+j] = catalog[0].secfilt[PhotNsec*i+j];
@@ -38,7 +38,7 @@
 
     Nm = 0;
-    for (j = 0; j < catalog[0].average[i].Nm; j++) {
+    for (j = 0; j < catalog[0].average[i].Nmeasure; j++) {
 
-      offset = catalog[0].average[i].offset + j;
+      offset = catalog[0].average[i].measureOffset + j;
 
       /* select measurements by photcode, if specified */
@@ -95,5 +95,5 @@
       continue; 
     }
-    subcatalog[0].average[Naverage].Nm = Nm;
+    subcatalog[0].average[Naverage].Nmeasure = Nm;
     Naverage ++;
     if (Naverage == NAVERAGE) {
Index: /branches/eam_branch_20080223/Ohana/src/relastro/src/load_catalogs.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relastro/src/load_catalogs.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relastro/src/load_catalogs.c	(revision 16633)
@@ -39,6 +39,6 @@
 	for (j = 0; j < catalog[i].Naverage; j++) {
 	  catalog[i].average[j].code = 0;
-	  m = catalog[i].average[j].offset;
-	  for (k = 0; k < catalog[i].average[j].Nm; k++) {
+	  m = catalog[i].average[j].measureOffset;
+	  for (k = 0; k < catalog[i].average[j].Nmeasure; k++) {
 	    catalog[i].measure[m+k].dbFlags = 0;
 	  }
Index: /branches/eam_branch_20080223/Ohana/src/relastro/src/plot_scatter.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relastro/src/plot_scatter.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relastro/src/plot_scatter.c	(revision 16633)
@@ -12,5 +12,5 @@
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
-      Ntot += catalog[i].average[j].Nm;
+      Ntot += catalog[i].average[j].Nmeasure;
     }
   }
@@ -25,7 +25,7 @@
       /* calculate the average value for a single star */
       if (catalog[i].average[j].code & STAR_BAD) continue;  
-      m = catalog[i].average[j].offset;
+      m = catalog[i].average[j].measureOffset;
 
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	if (catalog[i].measure[m].flags & MEAS_BAD) continue;
 
Index: /branches/eam_branch_20080223/Ohana/src/relastro/src/setExclusions.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relastro/src/setExclusions.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relastro/src/setExclusions.c	(revision 16633)
@@ -11,6 +11,6 @@
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
-      m = catalog[i].average[j].offset;
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      m = catalog[i].average[j].measureOffset;
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 
 	/* select measurements by photcode */
Index: /branches/eam_branch_20080223/Ohana/src/relphot/src/StarOps.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relphot/src/StarOps.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relphot/src/StarOps.c	(revision 16633)
@@ -12,5 +12,5 @@
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
-      Nmax = MAX (Nmax, catalog[i].average[j].Nm);
+      Nmax = MAX (Nmax, catalog[i].average[j].Nmeasure);
     }
   }
@@ -43,8 +43,8 @@
       /* calculate the average value for a single star */
       if (catalog[i].average[j].code & STAR_BAD) continue;  
-      m = catalog[i].average[j].offset;
+      m = catalog[i].average[j].measureOffset;
 
       N = 0;
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
 	// XXX allow REF stars (no Image Entry) to be included in the calculation this
@@ -94,5 +94,5 @@
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
-      Nmax = MAX (Nmax, catalog[i].average[j].Nm);
+      Nmax = MAX (Nmax, catalog[i].average[j].Nmeasure);
     }
   }
@@ -107,6 +107,6 @@
 
       N = 0;
-      m = catalog[i].average[j].offset;
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      m = catalog[i].average[j].measureOffset;
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
 	// XXX allow REF stars (no Image Entry) to be included in the calculation this
@@ -158,6 +158,6 @@
     for (j = 0; j < catalog[i].Naverage; j++) {
 
-      m = catalog[i].average[j].offset;
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      m = catalog[i].average[j].measureOffset;
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
 	Mcal  = getMcal  (m, i);
@@ -247,5 +247,5 @@
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
-      Nmax = MAX (Nmax, catalog[i].average[j].Nm);
+      Nmax = MAX (Nmax, catalog[i].average[j].Nmeasure);
     }
   }
@@ -270,7 +270,7 @@
 
       /* accumulate list of valid measurements */
-      m = catalog[i].average[j].offset;
+      m = catalog[i].average[j].measureOffset;
       N = 0;
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	/* if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue; */
 	Mcal  = getMcal  (m, i);
@@ -305,7 +305,7 @@
       image_bad = IMAGE_BAD;
       IMAGE_BAD = ID_IMAGE_NOCAL;
-      m = catalog[i].average[j].offset;
+      m = catalog[i].average[j].measureOffset;
       N = 0;
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	/* if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue; */
 	Mcal  = getMcal  (m, i);
@@ -362,8 +362,8 @@
       /* calculate the average value for a single star */
       if (catalog[i].average[j].code & STAR_BAD) continue;  
-      m = catalog[i].average[j].offset;
+      m = catalog[i].average[j].measureOffset;
 
       N = 0;
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	Mcal = getMcal  (m, i);
 	if (isnan(Mcal)) continue;
Index: /branches/eam_branch_20080223/Ohana/src/relphot/src/bcatalog.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relphot/src/bcatalog.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relphot/src/bcatalog.c	(revision 16633)
@@ -22,9 +22,9 @@
   /* exclude stars not in range or with too few measurements */
   for (i = 0; i < catalog[0].Naverage; i++) {
-    // if (catalog[0].average[i].Nm < 2) continue; 
+    // if (catalog[0].average[i].Nmeasure < 2) continue; 
 
     /* start with all stars good */
     subcatalog[0].average[Naverage] = catalog[0].average[i];
-    subcatalog[0].average[Naverage].offset = Nmeasure;
+    subcatalog[0].average[Naverage].measureOffset = Nmeasure;
     for (j = 0; j < PhotNsec; j++) {
       subcatalog[0].secfilt[PhotNsec*Naverage+j] = catalog[0].secfilt[PhotNsec*i+j];
@@ -39,7 +39,7 @@
 
     Nm = 0;
-    for (j = 0; j < catalog[0].average[i].Nm; j++) {
+    for (j = 0; j < catalog[0].average[i].Nmeasure; j++) {
 
-      offset = catalog[0].average[i].offset + j;
+      offset = catalog[0].average[i].measureOffset + j;
 
       /* select measurements by photcode */
@@ -96,5 +96,5 @@
     }
     # endif
-    subcatalog[0].average[Naverage].Nm = Nm;
+    subcatalog[0].average[Naverage].Nmeasure = Nm;
     Naverage ++;
     if (Naverage == NAVERAGE) {
Index: /branches/eam_branch_20080223/Ohana/src/relphot/src/plot_scatter.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relphot/src/plot_scatter.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relphot/src/plot_scatter.c	(revision 16633)
@@ -11,5 +11,5 @@
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
-      Ntot += catalog[i].average[j].Nm;
+      Ntot += catalog[i].average[j].Nmeasure;
     }
   }
@@ -24,7 +24,7 @@
       /* calculate the average value for a single star */
       if (catalog[i].average[j].code & STAR_BAD) continue;  
-      m = catalog[i].average[j].offset;
+      m = catalog[i].average[j].measureOffset;
 
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 	if (catalog[i].measure[m].dbFlags & MEAS_BAD) continue;
 	Mcal = getMcal  (m, i);
Index: /branches/eam_branch_20080223/Ohana/src/relphot/src/setExclusions.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relphot/src/setExclusions.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relphot/src/setExclusions.c	(revision 16633)
@@ -10,6 +10,6 @@
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
-      m = catalog[i].average[j].offset;
-      for (k = 0; k < catalog[i].average[j].Nm; k++, m++) {
+      m = catalog[i].average[j].measureOffset;
+      for (k = 0; k < catalog[i].average[j].Nmeasure; k++, m++) {
 
 	/* select measurements by photcode */
Index: /branches/eam_branch_20080223/Ohana/src/relphot/src/setMrelFinal.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/relphot/src/setMrelFinal.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/relphot/src/setMrelFinal.c	(revision 16633)
@@ -13,6 +13,6 @@
       catalog[0].secfilt[PhotNsec*i+PhotSec].Xm = NAN_S_SHORT;
 
-      m = catalog[0].average[i].offset;
-      for (j = 0; j < catalog[0].average[i].Nm; j++, m++) {
+      m = catalog[0].average[i].measureOffset;
+      for (j = 0; j < catalog[0].average[i].Nmeasure; j++, m++) {
 	
 	/* select measurements by photcode */
@@ -56,6 +56,6 @@
     catalog[0].average[i].code &= ~ID_STAR_FEW;
     catalog[0].average[i].code &= ~ID_STAR_POOR;
-    m = catalog[0].average[i].offset;
-    for (j = 0; j < catalog[0].average[i].Nm; j++, m++) {
+    m = catalog[0].average[i].measureOffset;
+    for (j = 0; j < catalog[0].average[i].Nmeasure; j++, m++) {
       catalog[0].measure[m].dbFlags &= ~ID_MEAS_NOCAL;
     }
@@ -80,9 +80,9 @@
   /* mark measures which should be ignored on second pass */
   for (i = 0; i < catalog[0].Naverage; i++) {
-    Ntot += catalog[0].average[i].Nm;
+    Ntot += catalog[0].average[i].Nmeasure;
     if (catalog[0].found[i]) continue;
 
-    m = catalog[0].average[i].offset;
-    for (k = 0; k < catalog[0].average[i].Nm; k++, m++) {
+    m = catalog[0].average[i].measureOffset;
+    for (k = 0; k < catalog[0].average[i].Nmeasure; k++, m++) {
       Ntry++;
 
Index: /branches/eam_branch_20080223/Ohana/src/uniphot/src/update_catalog.c
===================================================================
--- /branches/eam_branch_20080223/Ohana/src/uniphot/src/update_catalog.c	(revision 16632)
+++ /branches/eam_branch_20080223/Ohana/src/uniphot/src/update_catalog.c	(revision 16633)
@@ -17,6 +17,6 @@
     }
 
-    m = catalog[0].average[i].offset;
-    for (j = 0; j < catalog[0].average[i].Nm; j++, m++) {
+    m = catalog[0].average[i].measureOffset;
+    for (j = 0; j < catalog[0].average[i].Nmeasure; j++, m++) {
       code = GetPhotcodebyCode (catalog[0].measure[m].photcode);
       if (code == NULL) continue;
