Changeset 37807 for trunk/Ohana/src/opihi/dvo/avextract.c
- Timestamp:
- Jan 11, 2015, 2:14:39 PM (12 years ago)
- Location:
- trunk/Ohana
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
src/opihi/dvo/avextract.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana
- Property svn:mergeinfo changed
-
trunk/Ohana/src/opihi/dvo/avextract.c
r37049 r37807 5 5 off_t i, j, n, m; 6 6 int N, Npts, NPTS, last, next, state, Nfields, Nreturn, Ncstack, Nstack; 7 int Nsecfilt, VERBOSE , needMeasures;7 int Nsecfilt, VERBOSE; 8 8 char **cstack, name[1024]; 9 9 void *Signal; … … 137 137 // this does all the work of re-packaging the command, calling it on the remote machines, then loading in the results 138 138 if (PARALLEL && !HOST_ID) { 139 int status = HostTableParallelOps (skylist, argc, argv, RESULT_FILE, TRUE, 0, VERBOSE);139 int status = HostTableParallelOps (skylist, argc, argv, RESULT_FILE, TRUE, 0, VERBOSE); 140 140 141 141 dbFreeFields (fields, Nfields); … … 163 163 } 164 164 165 // check the requested fields : are all average/secfilt entries, or do we need measures? 166 needMeasures = FALSE; 167 for (i = 0; !needMeasures && (i < Nfields); i++) { 168 if (fields[i].photcode == NULL) continue; // non-measure fields do not have a photcode 169 if (fields[i].photcode[0].type == PHOT_REF) needMeasures = TRUE; 170 if (fields[i].photcode[0].type == PHOT_DEP) needMeasures = TRUE; 171 } 165 // check the requested fields 166 int needMeasure = dbFieldNeedMeasure (fields, Nfields); 167 int needLensobj = dbFieldNeedLensobj (fields, Nfields); 168 int needStarpar = dbFieldNeedStarpar (fields, Nfields, TRUE); 172 169 173 170 // grab data from all selected sky regions … … 189 186 catalog.filename = (HOST_ID || PARALLEL_LOCAL) ? hostfile : skylist[0].filename[i]; 190 187 catalog.catflags = LOAD_AVES | LOAD_SECF; 191 catalog.catflags |= needMeasures ? LOAD_MEAS : SKIP_MEAS; 188 catalog.catflags |= needMeasure ? LOAD_MEAS : SKIP_MEAS; 189 catalog.catflags |= needLensobj ? LOAD_LENSOBJ : SKIP_LENSOBJ; 190 catalog.catflags |= needStarpar ? LOAD_STARPAR : SKIP_STARPAR; 192 191 catalog.Nsecfilt = 0; 193 192 … … 205 204 // XXX for measure values, this could be optimized for one loop over measures... 206 205 207 m = catalog.average[j].measureOffset;208 209 206 dbExtractAveragesInitAve (); // reset counters for saved fields (costs very little) 210 207 208 Average *average = &catalog.average[j]; 209 210 m = average->measureOffset; 211 Measure *measure = needMeasure ? &catalog.measure[m] : NULL; 212 213 m = average->lensobjOffset; 214 Lensobj *lensobj = needLensobj ? &catalog.lensobj[m] : NULL; 215 216 m = average->starparOffset; 217 StarPar *starpar = needStarpar ? &catalog.starpar[m] : NULL; 218 219 m = j*Nsecfilt; 220 SecFilt *secfilt = &catalog.secfilt[m]; 221 211 222 for (n = 0; n < Nfields; n++) { 212 values[n] = dbExtractAverages ( &catalog.average[j], &catalog.secfilt[j*Nsecfilt], &catalog.measure[m], &fields[n]);223 values[n] = dbExtractAverages (average, secfilt, measure, lensobj, starpar, &fields[n]); 213 224 } 214 225
Note:
See TracChangeset
for help on using the changeset viewer.
