Index: /branches/eam_branches/ipp-20130307/Ohana/src/dvomerge/src/merge_catalogs_old.c
===================================================================
--- /branches/eam_branches/ipp-20130307/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 35345)
+++ /branches/eam_branches/ipp-20130307/Ohana/src/dvomerge/src/merge_catalogs_old.c	(revision 35346)
@@ -299,53 +299,21 @@
 
     // XXX should we accept the input measurements for these fields?
-
+    dvo_average_init (&output[0].average[Nave]);
     output[0].average[Nave].R         	   = input[0].average[N].R;
     output[0].average[Nave].D         	   = input[0].average[N].D;
-    output[0].average[Nave].dR        	   = 0;
-    output[0].average[Nave].dD        	   = 0;
-
-    output[0].average[Nave].Nmeasure  	   = 0; // this value is update as the measurements are associated with this entry below
-    output[0].average[Nave].Nmissing  	   = 0;
-    output[0].average[Nave].Nextend        = 0;
-
     output[0].average[Nave].measureOffset  = Nmeas;
-    output[0].average[Nave].missingOffset  = -1;
-    output[0].average[Nave].extendOffset   = -1;
-
-    output[0].average[Nave].uR        	   = 0;
-    output[0].average[Nave].uD        	   = 0;
-    output[0].average[Nave].duR       	   = 0;
-    output[0].average[Nave].duD       	   = 0;
-    output[0].average[Nave].P         	   = 0;
-    output[0].average[Nave].dP        	   = 0;
-
-    output[0].average[Nave].stargal   	   = 0;
-    output[0].average[Nave].ChiSqAve   	   = 0.0;
-    output[0].average[Nave].ChiSqPM   	   = 0.0;
-    output[0].average[Nave].ChiSqPar   	   = 0.0;
-    output[0].average[Nave].Tmean   	   = 0;
-    output[0].average[Nave].Trange   	   = 0;
-    output[0].average[Nave].Npos    	   = 0;
-
     output[0].average[Nave].objID     	   = objID; // we create objID values in the context of the output db
     output[0].average[Nave].catID     	   = catID; // we create catID values in the context of the output db
-    output[0].average[Nave].flags          = 0;  // XXX why reset these?
+
     if (PSPS_ID) {
       output[0].average[Nave].extID = CreatePSPSObjectID(output[0].average[Nave].R, output[0].average[Nave].D);
-    } else {
-      output[0].average[Nave].extID = 0;
-    }
+    } 
 
     objID ++;
 
+    // init the new secfilt entries
     for (j = 0; j < NsecfiltOut; j++) {
         int outputIndex = (Nave * NsecfiltOut) + j;
-	output[0].secfilt[outputIndex].M     = NAN;
-	output[0].secfilt[outputIndex].dM    = NAN;
-	output[0].secfilt[outputIndex].Xm    = NAN_S_SHORT;
-	output[0].secfilt[outputIndex].M_20  = NAN_S_SHORT;
-	output[0].secfilt[outputIndex].M_80  = NAN_S_SHORT;
-	output[0].secfilt[outputIndex].Ncode = 0;
-	output[0].secfilt[outputIndex].Nused = 0;
+	dvo_secfilt_init (&output[0].secfilt[outputIndex]);
     }
 
@@ -359,11 +327,5 @@
     
       if (isfinite(input[0].secfilt[N*NsecfiltIn+j].M)) {
-	output[0].secfilt[outputIndex].M     = input[0].secfilt[N*NsecfiltIn+j].M;
-	output[0].secfilt[outputIndex].dM    = input[0].secfilt[N*NsecfiltIn+j].dM;
-	output[0].secfilt[outputIndex].Xm    = input[0].secfilt[N*NsecfiltIn+j].Xm;
-	output[0].secfilt[outputIndex].M_20  = input[0].secfilt[N*NsecfiltIn+j].M_20;
-	output[0].secfilt[outputIndex].M_80  = input[0].secfilt[N*NsecfiltIn+j].M_80;
-	output[0].secfilt[outputIndex].Ncode = input[0].secfilt[N*NsecfiltIn+j].Ncode;
-	output[0].secfilt[outputIndex].Nused = input[0].secfilt[N*NsecfiltIn+j].Nused;
+	output[0].secfilt[outputIndex] = input[0].secfilt[N*NsecfiltIn+j];
       }
     }
