IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 29817


Ignore:
Timestamp:
Nov 24, 2010, 12:03:56 PM (15 years ago)
Author:
eugene
Message:

added some verbosity; careful with systematic errors

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20101103/Ohana/src/relastro/src/UpdateObjects.c

    r28241 r29817  
    5454  memset (&fitPM,  0, sizeof(fitPM));
    5555  memset (&fitPAR, 0, sizeof(fitPAR));
    56  
    5756  initObjectData (catalog, Ncatalog);
    5857
     
    7271  // use J2000 as a reference time
    7372  T2000 = ohana_date_to_sec ("2000/01/01");
    74 
    7573  // XXX in the future, use catalog[0].Nsecfilt only?  allow catalogs to have variable Nsecfilt?
    7674  Nsecfilt = GetPhotcodeNsecfilt ();
     
    9795      N = 0;
    9896      m = catalog[i].average[j].measureOffset;
    99 
    10097      Tmin = Tmax = (catalog[i].measure[m].t - T2000) / (86400*365.25);
    10198      mode = FIT_MODE;
     
    137134
    138135        // dX, dY : error in arcsec --
    139         dX[N] = GetAstromError (&catalog[i].measure[m], ERROR_MODE_RA);
    140         dY[N] = GetAstromError (&catalog[i].measure[m], ERROR_MODE_DEC);
     136        // dX[N] = GetAstromError (&catalog[i].measure[m], ERROR_MODE_RA);
     137        // dY[N] = GetAstromError (&catalog[i].measure[m], ERROR_MODE_DEC);
     138
     139        dX[N] = 0.1;
     140        dY[N] = 0.1;
    141141        dT[N] = catalog[i].measure[m].dt;
    142142
     
    145145        // non-circular errors (different values for X and Y), then dR and dD will be
    146146        // incorrect: they would need to be rotated to take out the position angle
    147         dR[k] = dX[k] / 3600.0;
    148         dD[k] = dY[k] / 3600.0;
     147        dR[N] = dX[N] / 3600.0;
     148        dD[N] = dY[N] / 3600.0;
    149149
    150150        N++;
     
    194194
    195195        FitPM (&fitPM, X, dX, Y, dY, T, N);
     196
    196197        if (XVERB) fprintf (stderr, "fitted:  %f - %f : %f %f : %f %f : %f vs %f\n", Tmin, Tmax, fitPM.Ro, fitPM.Do, fitPM.uR, fitPM.uD, fitPM.chisq, fitAve.chisq);
    197198
     
    244245
    245246      switch (result) {
    246         case FIT_AVERAGE:
    247           catalog[i].average[j].flags |= ID_STAR_USE_AVE;
    248           fit = fitAve;
    249           break;
    250         case FIT_PM_ONLY:
    251           catalog[i].average[j].flags |= ID_STAR_USE_PM;
    252           fit = fitPM;
    253           break;
    254         case FIT_PM_AND_PAR:
    255           catalog[i].average[j].flags |= ID_STAR_USE_PAR;
    256           fit = fitPAR;
    257           break;
    258       }
    259 
    260       if (XVERB) fprintf (stderr, "%f %f -> %f %f (%f,%f)\n",
     247      case FIT_AVERAGE:
     248        catalog[i].average[j].flags |= ID_STAR_USE_AVE;
     249        fit = fitAve;
     250        break;
     251      case FIT_PM_ONLY:
     252        catalog[i].average[j].flags |= ID_STAR_USE_PM;
     253        fit = fitPM;
     254        break;
     255      case FIT_PM_AND_PAR:
     256        catalog[i].average[j].flags |= ID_STAR_USE_PAR;
     257        fit = fitPAR;
     258        break;
     259      }
     260      if (XVERB) fprintf (stderr, "A%f %f -> %f %f (%f,%f) pm=(%f %f)\n",
    261261                          catalog[i].average[j].R,
    262262                          catalog[i].average[j].D,
    263263                          fit.Ro, fit.Do,
    264264                          3600*(catalog[i].average[j].R - fit.Ro),
    265                           3600*(catalog[i].average[j].D - fit.Do));
     265                          3600*(catalog[i].average[j].D - fit.Do),
     266                          fit.uR,
     267                          fit.uD);
    266268
    267269      //make sure that the fit succeeded
    268       status  = finite(fit.Ro);
     270      status = TRUE;
     271      status &= finite(fit.Ro);
    269272      status &= finite(fit.Do);
    270273      status &= finite(fit.dRo);
     
    310313      catalog[i].average[j].Trange = (Trange * 86400 * 365.26);
    311314      catalog[i].average[j].Npos = fit.Nfit;
     315      if (XVERB) fprintf (stderr, "%f %f -> %f %f (%f,%f) pm=(%f %f)\n",
     316                          catalog[i].average[j].R,
     317                          catalog[i].average[j].D,
     318                          fit.Ro, fit.Do,
     319                          3600*(catalog[i].average[j].R - fit.Ro),
     320                          3600*(catalog[i].average[j].D - fit.Do),
     321                          catalog[i].average[j].uR,
     322                          catalog[i].average[j].uD);
     323
    312324    }
    313325
Note: See TracChangeset for help on using the changeset viewer.