IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 38633


Ignore:
Timestamp:
Jul 23, 2015, 2:48:33 PM (11 years ago)
Author:
eugene
Message:

repair objID and averef, exit if we raise an error

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20150625/Ohana/src/uniphot/src/repair_catalog_by_objID.c

    r38631 r38633  
    7272      average[averef].measureOffset = i;
    7373    }
     74    if (measureNew[i].averef != averef) {
     75      fprintf (stderr, "fixing averef for measure "OFF_T_FMT" (%d -> "OFF_T_FMT")\n", i, measureNew[i].averef, averef);
     76      measureNew[i].averef = averef;
     77    }
    7478    N++;
    7579  }
     
    7983  catalog->measure = measureNew;
    8084
     85  int NmeasureTotal = 0;
     86  int measureOffsetOK = TRUE;
     87  for (i = 0; i < catalog->Naverage; i++) {
     88    NmeasureTotal += catalog[0].average[i].Nmeasure;
     89    if (!(NmeasureTotal <= catalog[0].Nmeasure)) {
     90      fprintf (stderr, "too many measurements: %d %d %d\n", (int) i, NmeasureTotal, (int) catalog[0].Nmeasure);
     91    }
     92    measureOffsetOK &= (catalog[0].average[i].measureOffset < catalog[0].Nmeasure);
     93    if (!(catalog[0].average[i].measureOffset < catalog[0].Nmeasure)) {
     94      fprintf (stderr, "offset too large: %d %d %d\n", (int) i, catalog[0].average[i].Nmeasure, (int) catalog[0].Nmeasure);
     95    }
     96    measureOffsetOK &= (catalog[0].average[i].measureOffset + catalog[0].average[i].Nmeasure <= catalog[0].Nmeasure);
     97    if (!(catalog[0].average[i].measureOffset + catalog[0].average[i].Nmeasure <= catalog[0].Nmeasure)) {
     98      fprintf (stderr, "offset + Nmeasure too large: %d + %d > %d %d\n", (int) i, catalog[0].average[i].measureOffset, catalog[0].average[i].Nmeasure, (int) catalog[0].Nmeasure);
     99    }
     100  }
     101
     102  int status = TRUE;
     103  if (!measureOffsetOK) {
     104    fprintf (stderr, "ERROR: catalog %s has an invalid measureOffset\n", catalog[0].filename);
     105    status = FALSE;
     106  }
     107
     108  if (NmeasureTotal != catalog[0].Nmeasure) {
     109    fprintf (stderr, "ERROR: catalog %s has an invalid Nmeasure\n", catalog[0].filename);
     110    status = FALSE;
     111  }
     112
     113  if (!status) exit (2);
     114
    81115  return TRUE;
    82116}
Note: See TracChangeset for help on using the changeset viewer.