IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 33473


Ignore:
Timestamp:
Mar 10, 2012, 12:49:20 PM (14 years ago)
Author:
eugene
Message:

parse photcode lists but do not destroy original string (it is passed to relastro_client); save image, photcode, skytable only for main thread

Location:
branches/eam_branches/ipp-20111122/Ohana/src/relastro/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20111122/Ohana/src/relastro/src/high_speed_catalogs.c

    r33448 r33473  
    5050  }
    5151 
    52 finish: {
     52finish:
     53
     54  // in relastro (NOT relastr_client), save the Images.dat, Photcodes.dat, SkyTable.fits files
     55  if (!hostID) {
    5356    char photcodeFile[1024];
    5457    snprintf (photcodeFile, 1024, "%s/Photcodes.dat", HIGH_SPEED_DIR);
     
    5760      exit (1);
    5861    }
    59 
     62   
    6063    // need to copy across the Images, SkyTable, and Photcode tables:
    6164    char *skyfile = SkyTableFilename (HIGH_SPEED_DIR);
    6265    SkyTableSave (sky, skyfile);
    63 
     66   
    6467    char line[2048];
    6568    snprintf (line, 2048, "cp %s/Images.dat %s/Images.dat", CATDIR, HIGH_SPEED_DIR);
  • branches/eam_branches/ipp-20111122/Ohana/src/relastro/src/initialize.c

    r33448 r33473  
    1313  if (FIT_TARGET == TARGET_MERGE_SOURCE) return;
    1414
    15   /* build a list of accepted photcodes. these will be used by bcatalog to accept or
    16      reject loaded data */
     15  fprintf (stderr, "PHOTCODE_KEEP_LIST: %s\n", PHOTCODE_KEEP_LIST);
     16  fprintf (stderr, "PHOTCODE_SKIP_LIST: %s\n", PHOTCODE_SKIP_LIST);
     17  fprintf (stderr, "PHOTCODE_A_LIST: %s\n", PHOTCODE_A_LIST);
     18  fprintf (stderr, "PHOTCODE_B_LIST: %s\n", PHOTCODE_B_LIST);
    1719
    18   NphotcodesKeep = 0;
    19   photcodesKeep = NULL;
    20   if (PHOTCODE_KEEP_LIST != NULL) {
    21     NPHOTCODES = 10;
    22     ALLOCATE (photcodesKeep, PhotCode *, NPHOTCODES);
    23 
    24     /* parse the comma-separated list of photcodesKeep */
    25     list = PHOTCODE_KEEP_LIST;
    26     while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
    27       list = NULL; // pass NULL on successive strtok_r calls
    28       fprintf (stderr, "PHOTCODE_LIST: %s\n", PHOTCODE_KEEP_LIST);
    29       fprintf (stderr, "codename: %s\n", codename);
    30       if ((photcodesKeep[NphotcodesKeep] = GetPhotcodebyName (codename)) == NULL) {
    31         fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
    32         exit (1);
    33       }
    34       NphotcodesKeep ++;
    35       CHECK_REALLOCATE (photcodesKeep, PhotCode *, NPHOTCODES, NphotcodesKeep, 10);
    36     }
    37   }
    38 
    39   NphotcodesSkip = 0;
    40   photcodesSkip = NULL;
    41   if (PHOTCODE_SKIP_LIST != NULL) {
    42     NPHOTCODES = 10;
    43     ALLOCATE (photcodesSkip, PhotCode *, NPHOTCODES);
    44 
    45     /* parse the comma-separated list of photcodesSkip */
    46     list = PHOTCODE_SKIP_LIST;
    47     while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
    48       list = NULL; // pass NULL on successive strtok_r calls
    49       fprintf (stderr, "PHOTCODE_LIST: %s\n", PHOTCODE_SKIP_LIST);
    50       fprintf (stderr, "codename: %s\n", codename);
    51       if ((photcodesSkip[NphotcodesSkip] = GetPhotcodebyName (codename)) == NULL) {
    52         fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
    53         exit (1);
    54       }
    55       NphotcodesSkip ++;
    56       CHECK_REALLOCATE (photcodesSkip, PhotCode *, NPHOTCODES, NphotcodesSkip, 10);
    57     }
    58   }
    59 
    60   NphotcodesGroupA = 0;
    61   photcodesGroupA = NULL;
    62   if (PHOTCODE_A_LIST != NULL) {
    63     NPHOTCODES = 10;
    64     ALLOCATE (photcodesGroupA, PhotCode *, NPHOTCODES);
    65 
    66     /* parse the comma-separated list of photcodesGroupA */
    67     fprintf (stderr, "PHOTCODE_A_LIST: %s\n", PHOTCODE_A_LIST);
    68     list = PHOTCODE_A_LIST;
    69     while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
    70       list = NULL; // pass NULL on successive strtok_r calls
    71       fprintf (stderr, "codename: %s\n", codename);
    72       if ((photcodesGroupA[NphotcodesGroupA] = GetPhotcodebyName (codename)) == NULL) {
    73         fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
    74         exit (1);
    75       }
    76       NphotcodesGroupA ++;
    77       CHECK_REALLOCATE (photcodesGroupA, PhotCode *, NPHOTCODES, NphotcodesGroupA, 10);
    78     }
    79   }
    80 
    81   NphotcodesGroupB = 0;
    82   photcodesGroupB = NULL;
    83   if (PHOTCODE_B_LIST != NULL) {
    84     NPHOTCODES = 10;
    85     ALLOCATE (photcodesGroupB, PhotCode *, NPHOTCODES);
    86 
    87     fprintf (stderr, "PHOTCODE_B_LIST: %s\n", PHOTCODE_B_LIST);
    88     /* parse the comma-separated list of photcodesGroupB */
    89     list = PHOTCODE_B_LIST;
    90     while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
    91       list = NULL; // pass NULL on successive strtok_r calls
    92       fprintf (stderr, "codename: %s\n", codename);
    93       if ((photcodesGroupB[NphotcodesGroupB] = GetPhotcodebyName (codename)) == NULL) {
    94         fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
    95         exit (1);
    96       }
    97       NphotcodesGroupB ++;
    98       CHECK_REALLOCATE (photcodesGroupB, PhotCode *, NPHOTCODES, NphotcodesGroupB, 10);
    99     }
    100   }
     20  photcodesKeep = ParsePhotcodeList (PHOTCODE_KEEP_LIST, &NphotcodesKeep);
     21  photcodesSkip = ParsePhotcodeList (PHOTCODE_SKIP_LIST, &NphotcodesSkip);
     22  photcodesGroupA = ParsePhotcodeList (PHOTCODE_A_LIST, &NphotcodesGroupA);
     23  photcodesGroupB = ParsePhotcodeList (PHOTCODE_B_LIST, &NphotcodesGroupB);
    10124
    10225  initstats (STATMODE);
     
    13356  args_client (argc, argv);
    13457
    135   /* build a list of accepted photcodes. these will be used by bcatalog to accept or
    136      reject loaded data */
     58  fprintf (stderr, "PHOTCODE_KEEP_LIST: %s\n", PHOTCODE_KEEP_LIST);
     59  fprintf (stderr, "PHOTCODE_SKIP_LIST: %s\n", PHOTCODE_SKIP_LIST);
     60  fprintf (stderr, "PHOTCODE_A_LIST: %s\n", PHOTCODE_A_LIST);
     61  fprintf (stderr, "PHOTCODE_B_LIST: %s\n", PHOTCODE_B_LIST);
    13762
    138   NphotcodesKeep = 0;
    139   photcodesKeep = NULL;
    140   if (PHOTCODE_KEEP_LIST != NULL) {
    141     NPHOTCODES = 10;
    142     ALLOCATE (photcodesKeep, PhotCode *, NPHOTCODES);
    143 
    144     /* parse the comma-separated list of photcodesKeep */
    145     list = PHOTCODE_KEEP_LIST;
    146     while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
    147       list = NULL; // pass NULL on successive strtok_r calls
    148       fprintf (stderr, "PHOTCODE_LIST: %s\n", PHOTCODE_KEEP_LIST);
    149       fprintf (stderr, "codename: %s\n", codename);
    150       if ((photcodesKeep[NphotcodesKeep] = GetPhotcodebyName (codename)) == NULL) {
    151         fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
    152         exit (1);
    153       }
    154       NphotcodesKeep ++;
    155       CHECK_REALLOCATE (photcodesKeep, PhotCode *, NPHOTCODES, NphotcodesKeep, 10);
    156     }
    157   }
    158 
    159   NphotcodesSkip = 0;
    160   photcodesSkip = NULL;
    161   if (PHOTCODE_SKIP_LIST != NULL) {
    162     NPHOTCODES = 10;
    163     ALLOCATE (photcodesSkip, PhotCode *, NPHOTCODES);
    164 
    165     /* parse the comma-separated list of photcodesSkip */
    166     list = PHOTCODE_SKIP_LIST;
    167     while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
    168       list = NULL; // pass NULL on successive strtok_r calls
    169       fprintf (stderr, "PHOTCODE_LIST: %s\n", PHOTCODE_SKIP_LIST);
    170       fprintf (stderr, "codename: %s\n", codename);
    171       if ((photcodesSkip[NphotcodesSkip] = GetPhotcodebyName (codename)) == NULL) {
    172         fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
    173         exit (1);
    174       }
    175       NphotcodesSkip ++;
    176       CHECK_REALLOCATE (photcodesSkip, PhotCode *, NPHOTCODES, NphotcodesSkip, 10);
    177     }
    178   }
    179 
    180   NphotcodesGroupA = 0;
    181   photcodesGroupA = NULL;
    182   if (PHOTCODE_A_LIST != NULL) {
    183     NPHOTCODES = 10;
    184     ALLOCATE (photcodesGroupA, PhotCode *, NPHOTCODES);
    185 
    186     /* parse the comma-separated list of photcodesGroupA */
    187     fprintf (stderr, "PHOTCODE_A_LIST: %s\n", PHOTCODE_A_LIST);
    188     list = PHOTCODE_A_LIST;
    189     while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
    190       list = NULL; // pass NULL on successive strtok_r calls
    191       fprintf (stderr, "codename: %s\n", codename);
    192       if ((photcodesGroupA[NphotcodesGroupA] = GetPhotcodebyName (codename)) == NULL) {
    193         fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
    194         exit (1);
    195       }
    196       NphotcodesGroupA ++;
    197       CHECK_REALLOCATE (photcodesGroupA, PhotCode *, NPHOTCODES, NphotcodesGroupA, 10);
    198     }
    199   }
    200 
    201   NphotcodesGroupB = 0;
    202   photcodesGroupB = NULL;
    203   if (PHOTCODE_B_LIST != NULL) {
    204     NPHOTCODES = 10;
    205     ALLOCATE (photcodesGroupB, PhotCode *, NPHOTCODES);
    206 
    207     fprintf (stderr, "PHOTCODE_B_LIST: %s\n", PHOTCODE_B_LIST);
    208     /* parse the comma-separated list of photcodesGroupB */
    209     list = PHOTCODE_B_LIST;
    210     while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
    211       list = NULL; // pass NULL on successive strtok_r calls
    212       fprintf (stderr, "codename: %s\n", codename);
    213       if ((photcodesGroupB[NphotcodesGroupB] = GetPhotcodebyName (codename)) == NULL) {
    214         fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
    215         exit (1);
    216       }
    217       NphotcodesGroupB ++;
    218       CHECK_REALLOCATE (photcodesGroupB, PhotCode *, NPHOTCODES, NphotcodesGroupB, 10);
    219     }
    220   }
     63  photcodesKeep = ParsePhotcodeList (PHOTCODE_KEEP_LIST, &NphotcodesKeep);
     64  photcodesSkip = ParsePhotcodeList (PHOTCODE_SKIP_LIST, &NphotcodesSkip);
     65  photcodesGroupA = ParsePhotcodeList (PHOTCODE_A_LIST, &NphotcodesGroupA);
     66  photcodesGroupB = ParsePhotcodeList (PHOTCODE_B_LIST, &NphotcodesGroupB);
    22167
    22268  initstats (STATMODE);
     
    22773}
    22874
     75PhotCode *ParsePhotcodeList (char *rawlist, int *nphotcodes) {
     76
     77  *nphotcodes = 0;
     78  if (!rawlist) return NULL;
     79
     80  Nphotcodes = 0;
     81  photcodes = NULL;
     82  int NPHOTCODES = 10;
     83  ALLOCATE (photcodes, PhotCode *, NPHOTCODES);
     84
     85  /* parse the comma-separated list of photcodes */
     86  char *myList = strcreate(rawlist);
     87  char *list = myList;
     88  char *codename = NULL;
     89  char *ptr = NULL;
     90  while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
     91    list = NULL; // pass NULL on successive strtok_r calls
     92    if ((photcodes[Nphotcodes] = GetPhotcodebyName (codename)) == NULL) {
     93      fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
     94      exit (1);
     95    }
     96    if (photcodes[Nphotcodes][0].type != PHOT_SEC) {
     97      fprintf (stderr, "photcode %s is not an filter type (SEC)\n", codename);
     98      exit (1);
     99    }
     100    Nphotcodes ++;
     101    CHECK_REALLOCATE (photcodes, PhotCode *, NPHOTCODES, Nphotcodes, 10);
     102  }
     103  free (myList);
     104
     105  *nphotcodes = Nphotcodes;
     106  return photcodes;
     107}
Note: See TracChangeset for help on using the changeset viewer.