Changeset 28328
- Timestamp:
- Jun 15, 2010, 9:46:18 AM (16 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/dvomerge/src/merge_catalogs_old.c
r28250 r28328 63 63 tcoords.Npolyterms = 1; 64 64 strcpy (tcoords.ctype, "RA---ARC"); 65 66 if (VERBOSE) fprintf (stderr, "merging %s into %s\n", input[0].filename, output[0].filename); 65 67 66 68 /* build spatial index (RA sort) referencing input array sequence */ … … 161 163 REALLOCATE (output[0].measure, Measure, NMEAS); 162 164 } 165 166 // 4) average properties from the input and the output db need to be properly merged. 163 167 164 168 /** add ALL measurements for this input average object **/ … … 209 213 } 210 214 215 // update the average properties to reflect the incoming entries: 216 // if the original value is NAN but the input value is not, accept the input: 217 for (j = 0; j < Nsecfilt; j++) { 218 if ( isfinite(output[0].secfilt[n*Nsecfilt+j].M)) continue; 219 if (!isfinite( input[0].secfilt[N*Nsecfilt+j].M)) continue; 220 output[0].secfilt[n*Nsecfilt+j].M = input[0].secfilt[N*Nsecfilt+j].M; 221 output[0].secfilt[n*Nsecfilt+j].dM = input[0].secfilt[N*Nsecfilt+j].dM; 222 output[0].secfilt[n*Nsecfilt+j].Xm = input[0].secfilt[N*Nsecfilt+j].Xm; 223 output[0].secfilt[n*Nsecfilt+j].M_20 = input[0].secfilt[N*Nsecfilt+j].M_20; 224 output[0].secfilt[n*Nsecfilt+j].M_80 = input[0].secfilt[N*Nsecfilt+j].M_80; 225 output[0].secfilt[n*Nsecfilt+j].Ncode = input[0].secfilt[N*Nsecfilt+j].Ncode; 226 output[0].secfilt[n*Nsecfilt+j].Nused = input[0].secfilt[N*Nsecfilt+j].Nused; 227 } 228 211 229 /* Nm is updated, but not written out in -update mode (for existing entries) 212 230 Nm is recalculated in build_meas_links if loaded table is not sorted */ … … 242 260 if (!IN_REGION (input[0].average[N].R, input[0].average[N].D)) continue; 243 261 262 // XXX should we accept the input measurements for the fields? 263 244 264 output[0].average[Nave].R = input[0].average[N].R; 245 265 output[0].average[Nave].D = input[0].average[N].D; … … 247 267 output[0].average[Nave].dD = 0; 248 268 249 output[0].average[Nave].Nmeasure = 1;269 output[0].average[Nave].Nmeasure = 0; // this value is update as the measurements are associated with this entry below 250 270 output[0].average[Nave].Nmissing = 0; 251 271 output[0].average[Nave].Nextend = 0; … … 282 302 283 303 for (j = 0; j < Nsecfilt; j++) { 284 output[0].secfilt[Nave*Nsecfilt+j].M = NAN; 285 output[0].secfilt[Nave*Nsecfilt+j].dM = NAN; 286 output[0].secfilt[Nave*Nsecfilt+j].Xm = NAN_S_SHORT; 287 output[0].secfilt[Nave*Nsecfilt+j].M_20 = NAN_S_SHORT; 288 output[0].secfilt[Nave*Nsecfilt+j].M_80 = NAN_S_SHORT; 289 output[0].secfilt[Nave*Nsecfilt+j].Ncode = 0; 290 output[0].secfilt[Nave*Nsecfilt+j].Nused = 0; 304 if (isfinite(input[0].secfilt[N*Nsecfilt+j].M)) { 305 output[0].secfilt[Nave*Nsecfilt+j].M = input[0].secfilt[N*Nsecfilt+j].M; 306 output[0].secfilt[Nave*Nsecfilt+j].dM = input[0].secfilt[N*Nsecfilt+j].dM; 307 output[0].secfilt[Nave*Nsecfilt+j].Xm = input[0].secfilt[N*Nsecfilt+j].Xm; 308 output[0].secfilt[Nave*Nsecfilt+j].M_20 = input[0].secfilt[N*Nsecfilt+j].M_20; 309 output[0].secfilt[Nave*Nsecfilt+j].M_80 = input[0].secfilt[N*Nsecfilt+j].M_80; 310 output[0].secfilt[Nave*Nsecfilt+j].Ncode = input[0].secfilt[N*Nsecfilt+j].Ncode; 311 output[0].secfilt[Nave*Nsecfilt+j].Nused = input[0].secfilt[N*Nsecfilt+j].Nused; 312 } else { 313 output[0].secfilt[Nave*Nsecfilt+j].M = NAN; 314 output[0].secfilt[Nave*Nsecfilt+j].dM = NAN; 315 output[0].secfilt[Nave*Nsecfilt+j].Xm = NAN_S_SHORT; 316 output[0].secfilt[Nave*Nsecfilt+j].M_20 = NAN_S_SHORT; 317 output[0].secfilt[Nave*Nsecfilt+j].M_80 = NAN_S_SHORT; 318 output[0].secfilt[Nave*Nsecfilt+j].Ncode = 0; 319 output[0].secfilt[Nave*Nsecfilt+j].Nused = 0; 320 } 291 321 } 292 322 … … 304 334 output[0].measure[Nmeas].catID = output[0].catID; 305 335 306 /* next[Nmeas] should always be -1 in this context (it is always the only 307 measurement for the star) */ 336 // as we add measurements, update Nmeasure to match 337 output[0].average[Nave].Nmeasure ++; 338 339 /* we set next[Nmeas] to -1 here, and update correctly below */ 308 340 input[0].found[N] = Nmeas; 309 341 next_meas[Nmeas] = -1; … … 327 359 # endif 328 360 329 # define NOSORT FALSE361 # define NOSORT 0 330 362 if (NOSORT) { 331 363 output[0].sorted = FALSE;
Note:
See TracChangeset
for help on using the changeset viewer.
