Index: /trunk/Ohana/src/relastro/src/initialize.c
===================================================================
--- /trunk/Ohana/src/relastro/src/initialize.c	(revision 17212)
+++ /trunk/Ohana/src/relastro/src/initialize.c	(revision 17213)
@@ -4,38 +4,59 @@
 
   int NPHOTCODES;
-  char *codename, *ptr;
+  char *codename, *ptr, *list;
 
   ConfigInit (&argc, argv);
   args (argc, argv);
 
-  /* XXX we need to build a list of accepted photcodes. these will be used by bcatalog to accept or
+  /* build a list of accepted photcodes. these will be used by bcatalog to accept or
      reject loaded data */
 
-  Nphotcodes = 0;
-  photcodes = NULL;
-  if (PHOTCODE_LIST != NULL) {
+  NphotcodesKeep = 0;
+  photcodesKeep = NULL;
+  if (PHOTCODE_KEEP_LIST != NULL) {
     NPHOTCODES = 10;
-    ALLOCATE (photcodes, PhotCode *, NPHOTCODES);
+    ALLOCATE (photcodesKeep, PhotCode *, NPHOTCODES);
 
-    /* parse the comma-separated list of photcodes */
-    strtok_r (PHOTCODE_LIST, ",", &ptr);
-    while ((codename = strtok_r (NULL, ",", &ptr)) != NULL) {
-      fprintf (stderr, "PHOTCODE_LIST: %s\n", PHOTCODE_LIST);
+    /* parse the comma-separated list of photcodesKeep */
+    list = PHOTCODE_KEEP_LIST;
+    while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
+      list = NULL; // pass NULL on successive strtok_r calls
+      fprintf (stderr, "PHOTCODE_LIST: %s\n", PHOTCODE_KEEP_LIST);
       fprintf (stderr, "codename: %s\n", codename);
-      if ((photcodes[Nphotcodes] = GetPhotcodebyName (codename)) == NULL) {
+      if ((photcodesKeep[NphotcodesKeep] = GetPhotcodebyName (codename)) == NULL) {
 	fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
 	exit (1);
       }
-      Nphotcodes ++;
-      CHECK_REALLOCATE (photcodes, PhotCode *, NPHOTCODES, Nphotcodes, 10);
+      NphotcodesKeep ++;
+      CHECK_REALLOCATE (photcodesKeep, PhotCode *, NPHOTCODES, NphotcodesKeep, 10);
     }
   }
-  PhotNsec = GetPhotcodeNsecfilt ();
+
+  NphotcodesSkip = 0;
+  photcodesSkip = NULL;
+  if (PHOTCODE_SKIP_LIST != NULL) {
+    NPHOTCODES = 10;
+    ALLOCATE (photcodesSkip, PhotCode *, NPHOTCODES);
+
+    /* parse the comma-separated list of photcodesSkip */
+    list = PHOTCODE_SKIP_LIST;
+    while ((codename = strtok_r (list, ",", &ptr)) != NULL) {
+      list = NULL; // pass NULL on successive strtok_r calls
+      fprintf (stderr, "PHOTCODE_LIST: %s\n", PHOTCODE_SKIP_LIST);
+      fprintf (stderr, "codename: %s\n", codename);
+      if ((photcodesSkip[NphotcodesSkip] = GetPhotcodebyName (codename)) == NULL) {
+	fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", codename);
+	exit (1);
+      }
+      NphotcodesSkip ++;
+      CHECK_REALLOCATE (photcodesSkip, PhotCode *, NPHOTCODES, NphotcodesSkip, 10);
+    }
+  }
 
   initstats (STATMODE);
 
-  IMAGE_BAD = ID_IMAGE_POOR | ID_IMAGE_FEW | ID_IMAGE_SKIP;
-  STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
-  MEAS_BAD  = ID_MEAS_NOCAL | ID_MEAS_POOR | ID_MEAS_SKIP | ID_MEAS_AREA;
+  // IMAGE_BAD = ID_IMAGE_POOR | ID_IMAGE_FEW | ID_IMAGE_SKIP;
+  // STAR_BAD  = ID_STAR_POOR | ID_STAR_FEW;
+  // MEAS_BAD  = ID_MEAS_NOCAL | ID_MEAS_POOR_ASTROM | ID_MEAS_SKIP_ASTROM | ID_MEAS_AREA;
 
   /* XXX drop irrelevant entries */
@@ -49,8 +70,4 @@
     fprintf (stderr, "VERBOSE: %d, PLOTSTUFF: %d\n", VERBOSE, PLOTSTUFF);
 
-    fprintf (stderr, "MAG_LIM                %lf\n", MAG_LIM);
-    fprintf (stderr, "STAR_SCATTER           %lf\n", STAR_SCATTER);
-    fprintf (stderr, "IMAGE_SCATTER          %lf\n", IMAGE_SCATTER);
-    fprintf (stderr, "IMAGE_OFFSET           %lf\n", IMAGE_OFFSET);
     fprintf (stderr, "IMAGE_CATALOG          %s\n",  ImageCat);
     fprintf (stderr, "GSCFILE                %s\n",  GSCFILE);
