IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39766


Ignore:
Timestamp:
Oct 16, 2016, 3:24:11 PM (10 years ago)
Author:
eugene
Message:

add chipmaploop and chiporderloop; set gaia astrometry error specially

Location:
branches/czw_branch/20160809/Ohana/src/relastro
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h

    r39765 r39766  
    399399int    CHIPMAP;
    400400
     401int    *ChipMapLoop;
     402int    *ChipOrderLoop;
     403char   *ChipMapLoopStr;
     404char   *ChipOrderLoopStr;
     405
    401406int    N_BOOTSTRAP_SAMPLES;
    402407
     
    422427int           DCR_RED_NSEC_POS,      DCR_RED_NSEC_NEG;
    423428
    424 int   NLoopWeight2MASS;
    425429float *LoopWeight2MASS;
    426430char *LoopWeight2MASSstr;
    427431
    428 int   NLoopWeightTycho;
    429432float *LoopWeightTycho;
    430433char *LoopWeightTychostr;
    431434
    432 int   NLoopWeightGAIA;
    433435float *LoopWeightGAIA;
    434436char *LoopWeightGAIAstr;
  • branches/czw_branch/20160809/Ohana/src/relastro/src/GetAstromError.c

    r39735 r39766  
    5353  dM    = measure[0].dM;
    5454  dPtotal = sqrt(SQ(dPsys) + SQ(AS*dPobs) + SQ(MS*dM));
     55
     56  if (measure[0].photcode == 1030) {
     57    if (mode == ERROR_MODE_RA) {
     58      dPobs = pow(10.0, (6.0 * measure[0].dXccd - 3.0));  // dXccd is a value in pixels
     59    }
     60    if (mode == ERROR_MODE_DEC) {
     61      dPobs = pow(10.0, (6.0 * measure[0].dYccd - 3.0));  // dXccd is a value in pixels
     62    }
     63  }
    5564
    5665  // for GPC1 data, we have a bright end model:
     
    135144  if (isnan(code[0].astromErrSys)) return NAN;
    136145
     146  if (measure[0].photcode == 1030) {
     147    if (mode == ERROR_MODE_RA) {
     148      dPobs = pow(10.0, (6.0 * measure[0].dXccd - 3.0));  // dXccd is a value in pixels
     149    }
     150    if (mode == ERROR_MODE_DEC) {
     151      dPobs = pow(10.0, (6.0 * measure[0].dYccd - 3.0));  // dXccd is a value in pixels
     152    }
     153  }
     154
    137155  AS    = code[0].astromErrScale;
    138156  MS    = code[0].astromErrMagScale;
  • branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateChips.c

    r39751 r39766  
    4242  AstromErrorSetLoop (Nloop, TRUE);
    4343
     44  // if ChipMapLoop or ChipOrderLoop is set use that to define the value of CHIPMAP and/or CHIPORDER this loop
     45  if (ChipMapLoop) { CHIPMAP = ChipMapLoop[Nloop]; }
     46  if (ChipOrderLoop) { CHIPORDER = ChipOrderLoop[Nloop]; }
     47 
    4448  if (NTHREADS) {
    4549    UpdateChips_threaded (catalog, Ncatalog);
  • branches/czw_branch/20160809/Ohana/src/relastro/src/args.c

    r39765 r39766  
    44void usage_merge_source (void);
    55void usage_merge_source_id (char *name);
    6 float *ParseLoopWeights (char *rawlist, int *nloop);
     6float *ParseLoopWeights (char *rawlist);
     7int *ParseLoopOrder (char *rawlist, int minValue);
    78
    89int args (int argc, char **argv) {
     
    509510  }
    510511
     512  ChipOrderLoop = NULL;
     513  ChipOrderLoopStr = NULL;
    511514  CHIPORDER = 1;
    512515  if ((N = get_argument (argc, argv, "-chiporder"))) {
     
    515518    remove_argument (N, &argc, argv);
    516519  }
    517 
     520  if ((N = get_argument (argc, argv, "-chiporderloop"))) {
     521    remove_argument (N, &argc, argv);
     522    ChipOrderLoopStr = strcreate(argv[N]);
     523    ChipOrderLoop = ParseLoopOrder (argv[N], 1);
     524    remove_argument (N, &argc, argv);
     525  }
     526
     527  ChipMapLoop = NULL;
     528  ChipMapLoopStr = NULL;
    518529  CHIPMAP = 0;
    519530  if ((N = get_argument (argc, argv, "-chipmap"))) {
     
    523534
    524535  }
     536  if ((N = get_argument (argc, argv, "-chipmaploop"))) {
     537    remove_argument (N, &argc, argv);
     538    ChipMapLoopStr = strcreate(argv[N]);
     539    ChipMapLoop = ParseLoopOrder (argv[N], 0);
     540    remove_argument (N, &argc, argv);
     541  }
     542 
    525543
    526544  SAVEPLOT = FALSE;
     
    657675    remove_argument (N, &argc, argv);
    658676    LoopWeight2MASSstr = strcreate(argv[N]);
    659     LoopWeight2MASS = ParseLoopWeights (argv[N], &NLoopWeight2MASS);
     677    LoopWeight2MASS = ParseLoopWeights (argv[N]);
    660678    remove_argument (N, &argc, argv);
    661679  }
     
    665683    remove_argument (N, &argc, argv);
    666684    LoopWeightTychostr = strcreate(argv[N]);
    667     LoopWeightTycho = ParseLoopWeights (argv[N], &NLoopWeightTycho);
     685    LoopWeightTycho = ParseLoopWeights (argv[N]);
    668686    remove_argument (N, &argc, argv);
    669687  }
     
    673691    remove_argument (N, &argc, argv);
    674692    LoopWeightGAIAstr = strcreate(argv[N]);
    675     LoopWeightGAIA = ParseLoopWeights (argv[N], &NLoopWeightGAIA);
     693    LoopWeightGAIA = ParseLoopWeights (argv[N]);
    676694    remove_argument (N, &argc, argv);
    677695  }
     
    13241342}
    13251343
    1326 float *ParseLoopWeights (char *rawlist, int *nloop) {
     1344float *ParseLoopWeights (char *rawlist) {
    13271345
    13281346  float *weights = NULL;
     
    13551373  }
    13561374
    1357   *nloop = Nloop;
    13581375  return weights;
    13591376}
     1377
     1378int *ParseLoopOrder (char *rawlist, int minValue) {
     1379
     1380  int *orders = NULL;
     1381  ALLOCATE (orders, int, NLOOP);
     1382
     1383  int Nloop = 0;
     1384
     1385  /* parse the comma-separated list of photcodes */
     1386  char *myList = strcreate(rawlist);
     1387  char *list = myList;
     1388  char *entry = NULL;
     1389  char *ptr = NULL;
     1390  while ((Nloop < NLOOP) && ((entry = strtok_r (list, ",", &ptr)) != NULL)) {
     1391    list = NULL; // pass NULL on successive strtok_r calls
     1392
     1393    orders[Nloop] = atoi(entry);
     1394    if (orders[Nloop] < minValue) {
     1395      fprintf (stderr, "order cannot be < %d: %s\n", minValue, rawlist);
     1396      exit (3);
     1397    }
     1398
     1399    Nloop ++;
     1400  }
     1401  free (myList);
     1402
     1403  if (Nloop == 0) {
     1404    fprintf (stderr, "syntax error parsing orders: %s\n", rawlist);
     1405    exit (3);
     1406  }
     1407
     1408  // this sets the last loops to match the last value...
     1409  while (Nloop < NLOOP) {
     1410    orders[Nloop] = orders[Nloop - 1];
     1411    Nloop ++;
     1412  }
     1413
     1414  return orders;
     1415}
  • branches/czw_branch/20160809/Ohana/src/relastro/src/launch_region_hosts.c

    r39765 r39766  
    163163    strextend (&command, "-chiporder %d", CHIPORDER);
    164164    if (CHIPMAP)            strextend (&command, "-chipmap %d", CHIPMAP);
     165    if (ChipMapLoop)        strextend (&command, "-chipmaploop %s", ChipMapLoopStr);
     166    if (ChipOrderLoop)      strextend (&command, "-chiporderloop %s", ChipMapLoopStr);
     167
    165168    if (RESET_IMAGES)       strextend (&command, "-reset-images");
    166169
Note: See TracChangeset for help on using the changeset viewer.