Index: /trunk/Ohana/src/addstar/include/addstar.h
===================================================================
--- /trunk/Ohana/src/addstar/include/addstar.h	(revision 4809)
+++ /trunk/Ohana/src/addstar/include/addstar.h	(revision 4810)
@@ -147,5 +147,4 @@
 Stars     *gstars                 PROTO((char *file, int *NSTARS, Image *image));
 void       help                   PROTO(());
-int        hms_to_deg             PROTO((double *h0, double *h1, double *d0, double *d1, char *string));
 int        in_image               PROTO((double r, double d, Image *image));
 int        load_pt_catalog        PROTO((Catalog *catalog, GSCRegion *region));  /*** choose new name ***/
Index: /trunk/Ohana/src/addstar/src/RegionOps.c
===================================================================
--- /trunk/Ohana/src/addstar/src/RegionOps.c	(revision 4809)
+++ /trunk/Ohana/src/addstar/src/RegionOps.c	(revision 4810)
@@ -62,5 +62,5 @@
     strncpy (temp, &table.buffer[i*48], 48);
     temp[49] = 0;
-    hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
+    hstgsc_hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
     if (RA1 < RA0) RA1 += 360.0;
 
@@ -210,24 +210,2 @@
 
 */
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: unk/Ohana/src/addstar/src/aregion.c
===================================================================
--- /trunk/Ohana/src/addstar/src/aregion.c	(revision 4809)
+++ 	(revision )
@@ -1,171 +1,0 @@
-# include "addstar.h"
-
-double BigDecBounds[] = {0.0, 7.5, 15.0, 22.5, 30.0, 37.5, 45.0, 
-			 52.5, 60.0, 67.5, 75.0, 82.5, 90.0,
-			 0.0, -7.5, -15.0, -22.5, -30.0, -37.5, -45.0, 
-			 -52.5, -60.0, -67.5, -75.0, -82.5, -90.0};
-char *DecSections[] = {"N0000", "N0730", "N1500", "N2230", "N3000", "N3730", "N4500", 
-		       "N5230", "N6000", "N6730", "N7500", "N8230", "weirdness", 
-		       "S0000", "S0730", "S1500", "S2230", "S3000", "S3730", "S4500", 
-		       "S5230", "S6000", "S6730", "S7500", "S8230", "weirdness"};
-
-char *Dec2Sections[] = {"n0000", "n0730", "n1500", "n2230", "n3000", "n3730", "n4500", 
-			"n5230", "n6000", "n6730", "n7500", "n8230", "weirdness", 
-			"s0000", "s0730", "s1500", "s2230", "s3000", "s3730", "s4500", 
-			"s5230", "s6000", "s6730", "s7500", "s8230", "weirdness"};
-
-char *disk[] = {"disk 1", "disk 1", "disk 1", "disk 1", "disk 1", "disk 1", "disk 1", 
-		"disk 1", "disk 1", "disk 1", "disk 1", "disk 1", "weirdness", 
-		"disk 1", "disk 2", "disk 2", "disk 2", "disk 2", "disk 2", "disk 2", 
-		"disk 2", "disk 2", "disk 2", "disk 2", "disk 2", "weirdness"};
-
-int NBigRASections [] = {48, 47, 45, 43, 40, 36, 32, 28, 21, 15, 9, 3, 3, 48, 47, 45, 43, 40, 36, 32, 28, 21, 15, 9, 3, 3};
-
-int NDecLines[] = {593, 584, 551, 530, 522, 465, 406, 362, 280, 198, 123, 24, 
-                   0, 597, 578, 574, 577, 534, 499, 442, 376, 294, 212, 144, 48};
-
-# define DEBUG 1
-
-/* find region file which contains ra, dec */
-void aregion (GSCRegion *region, FILE *f, double ra, double dec) {
-  
-  char buffer[28800], temp[50], file[256];
-  double RA0, RA1, DEC0, DEC1;
-  int i, NBigDec, NLINES, done;
-  
-  while (ra < 0) { ra += 360.0; }
-  while (ra >= 360.0) { ra -= 360.0; }
-
-  if (dec >= 86.25) {
-    sprintf (file, "%s/n8230/pole.cpt", CATDIR);
-    region[0].DEC[0] = 86.25;
-    region[0].DEC[1] = 93.75;
-    region[0].RA[0] =  0.0;
-    region[0].RA[1] =  360.0;
-    strcpy (region[0].filename, file);
-    return;
-  }
-    
-  NBigDec = -1;
-  for (i = 0; i < 12; i++) {
-    if ((dec >= BigDecBounds[i]) && (dec < BigDecBounds[i+1])) {
-      NBigDec = i;
-      break;
-    }
-  }
-  if (NBigDec < 0) {
-    for (i = 13; i < 24; i++) {
-      if ((dec < BigDecBounds[i]) && (dec >= BigDecBounds[i+1])) {
-	NBigDec = i;
-	break;
-      }
-    }
-  }
-  if (NBigDec < 0) {
-    fprintf (stderr, "dec out of range: %f\n", dec);
-  }
-    
-  NLINES = 0;
-  for (i = 0; i < NBigDec; i++) {
-    NLINES += NDecLines[i];
-  }
-  fseek (f, 5*2880 + 48*NLINES, SEEK_SET);
-      
-  done = FALSE;
-  Fread (buffer, 1, 48*NDecLines[NBigDec], f, "char");
-  for (i = 0; !done && (i < NDecLines[NBigDec]); i++) {
-    strncpy (temp, &buffer[i*48], 48);
-    temp[49] = 0;
-    hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
-    if (RA1 < RA0) RA1 += 360.0;
-    if ((dec >= 0) && (dec >= DEC0) && (dec < DEC1) && (ra >= RA0) && (ra < RA1)) {
-      done = TRUE;
-    }
-    if ((dec < 0) && (dec < DEC0) && (dec >= DEC1) && (ra >= RA0) && (ra < RA1)) {
-      done = TRUE;
-    }
-  }
-
-  if (!done) {
-    fprintf (stderr, "ERROR in search: %f %f\n", ra, dec);
-    exit (1);
-  }
-  temp[5] = 0;
-  sprintf (file, "%s/%s/%s.cpt", CATDIR, Dec2Sections[NBigDec], &temp[1]);
-  if (DEC0 < DEC1) {
-    region[0].DEC[0] = DEC0;
-    region[0].DEC[1] = DEC1;
-  } else {
-    region[0].DEC[0] = DEC1;
-    region[0].DEC[1] = DEC0;
-  }     
-  region[0].RA[0] = RA0;
-  region[0].RA[1] = RA1;
-  strcpy (region[0].filename, file);
-  return;
-}
-
-
-/**********/
-int hms_to_deg (double *h0, double *h1, double *d0, double *d1, char *string) {
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: unk/Ohana/src/addstar/src/bracket.c
===================================================================
--- /trunk/Ohana/src/addstar/src/bracket.c	(revision 4809)
+++ 	(revision )
@@ -1,37 +1,0 @@
-int FindRegionDecBandStart (GSCRegion *region, int Nregion, double dec) {
-
-  int N, Nlo, Nhi, N1, N2;
-
-  /* bracket value of interest */
-  Nlo = 0; Nhi = Nregion;
-  while (Nhi - Nlo > 10) {
-    N = 0.5*(Nlo + Nhi);
-    if (region[N].DEC[0] < dec) {
-      Nlo = N;
-    } else {
-      Nhi = N;
-    }
-  }
-  /* Nlo - Nhi bracket the transition across dec */
-  /* v[Nlo] < v <= v[Nhi] */ 
-
-  /* find the first entry >= dec */
-  for (N = N1; N < N2; N++) {
-    if (region[N].DEC[0] >= T) return (N);
-  }
-  return (-1);
-  /* this will fail if transition value is not in the data range */
-}
-
-/* bracket search:
-
-   Nlo            T      N                   Nhi
-   X X X X X X X V X X X X X X X X X X X X X X
-                         Nhi
-
-   Nlo                   N      T            Nhi
-   X X X X X X X X X X X X X X X V X X X X X X
-                         Nlo 
-
-*/
-
Index: unk/Ohana/src/addstar/src/conversions.c
===================================================================
--- /trunk/Ohana/src/addstar/src/conversions.c	(revision 4809)
+++ 	(revision )
@@ -1,365 +1,0 @@
-# include "addstar.h"
-
-enum {TIME_NONE, TIME_DATE, TIME_HOURS, TIME_DAYS, TIME_JD, TIME_MJD, TIME_SEC};
-
-# define FORMAT_DAYS    1
-# define FORMAT_HOURS   2
-# define FORMAT_MINUTES 3
-# define FORMAT_SECONDS 4
-# define FORMAT_JD      5
-# define FORMAT_DATE    6
-
-/***** convert [-]00:00:00 to 0.0000 ****/
-int dms_to_ddd (double *Value, char *string) {
-  
-  int valid, neg, status;
-  double tmp, value;
-  char *p1, *p2, *px;
-
-  valid = FALSE; 
-  neg = FALSE;
-  stripwhite (string);
-  p1 = string;
-  px = string + strlen(string);
-
-  if (string[0] == '-') { 
-    valid = TRUE; 
-    neg = TRUE;
-    p1 = &string[1];
-  }
-  if (string[0] == '+') { 
-    valid = TRUE; 
-    neg = FALSE;
-    p1 = &string[1];
-  }
-  if (isdigit(string[0])) { 
-    valid = TRUE;
-    p1 = &string[0];
-  }
-  if (!valid) { return (FALSE); }
-
-  status = 1;
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) return (FALSE); /* entry not a number: +fred */
-  value = tmp;
-  if (p2 == px) goto escape;    /* entry only number: +1.0 */ 
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;    /* entry not a number: +1:fred */
-  status = 2;
-  value += tmp / 60.0;
-  if (p2 == px) goto escape;    /* entry only number: +1:1 */
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;    /* entry not a number: +1:1:fred */
-  value += tmp / 3600.0;
-
- escape:
-  if (neg) {
-    value *= -1;
-  }
-  *Value = value;
-
-  return (status);
-}
-
-/**********/
-int str_to_radec (double *ra, double *dec, char *str1, char *str2) {
-
-  double Ra, Dec;
-
-  *ra = *dec = 0;
-  switch (dms_to_ddd (&Ra, str1)) {
-  case 0:
-    fprintf (stderr, "syntax error in RA\n");
-    return (FALSE);
-  case 1:
-    break;
-  case 2:
-    Ra = Ra * 15;
-    break;
-  }
-  switch (dms_to_ddd (&Dec, str2)) {
-  case 0:
-    fprintf (stderr, "syntax error in DEC\n");
-    return (FALSE);
-  case 1:
-  case 2:
-    break;
-  }
-  *ra = Ra;
-  *dec = Dec;
-  return (TRUE);
-}
-
-/**********/
-int chk_time (char *line) {
-
-  char *p1, *p2;
-  double tmp;
-  int mode;
-
-  p1 = line;
-  tmp = strtod (p1, &p2);
-  mode = FORMAT_DATE;
-  if (p2 == p1 + strlen (p1) - 1) {
-    if (*p2 == 'd') {
-      mode = FORMAT_DAYS;
-    }
-    if (*p2 == 'h') {
-      mode = FORMAT_HOURS;
-    }
-    if (*p2 == 'm') {
-      mode = FORMAT_MINUTES;
-    }
-    if (*p2 == 's') {
-      mode = FORMAT_SECONDS;
-    }
-    if (*p2 == 'j') {
-      mode = FORMAT_JD;
-    }
-  } 
-  return (mode);
-}
-
-/**********/
-int str_to_time (char *line, time_t *second) {
-  
-  char *tmpline;
-  struct tm *gmt;
-  struct timeval now;
-  double jd;
-  time_t tsec;
-
-  if (!strcasecmp (line, "NOW")) {
-    gettimeofday (&now, (struct timezone *) NULL);
-    *second = now.tv_sec;
-    return (TRUE);
-  }
-    
-  if (!strncasecmp (line, "TODAY", 5)) {
-    gettimeofday (&now, (struct timezone *) NULL);
-    if (line[5]) { /* line has extra data (ie, hh:mm:ss) */
-      tsec = now.tv_sec;
-      ALLOCATE (tmpline, char, 64);
-      gmt   = gmtime (&tsec);
-      sprintf (tmpline, "%04d/%02d/%02d,%s", 1900 + gmt[0].tm_year, gmt[0].tm_mon+1, gmt[0].tm_mday, &line[6]);
-      *second = date_to_sec (tmpline);
-      free (tmpline);
-      return (TRUE);
-    } else {
-      *second = 86400 * ((int)(now.tv_sec / 86400));
-      return (TRUE); 
-    }
-  }
-    
-  switch (chk_time (line)) {
-  case 0:
-    return (FALSE);
-  case FORMAT_DAYS:
-    *second = strtod (line, 0) * 86400.0;
-    return (TRUE);
-  case FORMAT_HOURS:
-    *second = strtod (line, 0) * 3600.0;
-    return (TRUE);
-  case FORMAT_MINUTES:
-    *second = strtod (line, 0) * 60.0;
-    return (TRUE);
-  case FORMAT_SECONDS:
-    *second = strtod (line, 0);
-    return (TRUE);
-  case FORMAT_JD:
-    jd = strtod (line, 0);
-    *second = jd_to_sec (jd);
-    return (TRUE);
-  case FORMAT_DATE:
-    *second = date_to_sec (line);
-    return (TRUE);
-  }
-  return (FALSE);
-}
-
-
-/**********/
-int str_to_dtime (char *line, double *second) {
-  
-  switch (chk_time (line)) {
-  case 0:
-  case FORMAT_JD:
-  case FORMAT_DATE:
-    return (FALSE);
-  case FORMAT_DAYS:
-    *second = strtod (line, 0) * 86400.0;
-    return (TRUE);
-  case FORMAT_HOURS:
-    *second = strtod (line, 0) * 3600.0;
-    return (TRUE);
-  case FORMAT_MINUTES:
-    *second = strtod (line, 0) * 60.0;
-    return (TRUE);
-  case FORMAT_SECONDS:
-    *second = strtod (line, 0);
-    return (TRUE);
-  }
-  return (FALSE);
-}
-
-/**********/
-double sec_to_jd (time_t second) {
-
-  double jd;
-  
-  jd = second/86400.0 + 2440587.5;
-  return (jd);
-}
-
-/**********/
-time_t jd_to_sec (double jd) {
-
-  time_t second;
-
-  second = (jd - 2440587.5)*86400;
-  return (second);
-}
-
-/**********/
-char *sec_to_date (time_t second) {
-  
-  struct tm *gmt;
-  char *line;
-  
-  ALLOCATE (line, char, 64);
-  gmt   = gmtime (&second);
-  sprintf (line, "%04d/%02d/%02d,%02d:%02d:%02d", 
-	   1900 + gmt[0].tm_year, gmt[0].tm_mon+1, gmt[0].tm_mday, 
-	   gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 
-  return (line);
-
-}
-
-/***** date in format yyyy/mm/dd,hh:mm:ss *****/
-time_t date_to_sec (char *date) {
-  
-  time_t second;
-  double tmp, jd;
-  struct tm now;
-  char *p1, *p2, *px;
-  
-  p1 = date;
-  px = date + strlen(date);
-  bzero (&now, sizeof(now));
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_year = tmp;
-  if (now.tm_year > 1000) now.tm_year -= 1900;
-  if (now.tm_year <   50) now.tm_year += 100;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_mon = tmp - 1; /* mon runs from 0 - 11 */
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_mday = tmp;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  p1 = p2 + 1;
-  now.tm_hour = tmp;
-  if (p2 == px) goto escape;  
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_min = tmp;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_sec = tmp;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
- escape:
-  jd = now.tm_mday - 32075 + (int)(1461*(1900 + now.tm_year + 4800 + (int)(((now.tm_mon+1)-14)/12))/4)
-    + (int)(367*((now.tm_mon+1) - 2 - (int)(((now.tm_mon+1) - 14)/12)*12)/12)
-    - (int)(3*(int)((1900 + now.tm_year + 4900 + (int)(((now.tm_mon+1) - 14)/12))/100)/4) - 0.5;
-  
-  second = (jd - 2440587.5)*86400 + 3600.0*now.tm_hour + now.tm_min*60.0 + now.tm_sec;
-
-  return (second);
-}
-
-/***** short date in format yymmdd *****/
-time_t short_date_to_sec (char *date) {
-  
-  time_t second;
-  double jd;
-  struct tm now;
-  
-  bzero (&now, sizeof(now));
-
-  sscanf (date, "%2d%2d%2d", &now.tm_year, &now.tm_mon, &now.tm_mday);
-
-  if (now.tm_year >   51) now.tm_year +=   0;
-  if (now.tm_year <   50) now.tm_year += 100;
-  now.tm_mon --; /* tm_mon runs from 0 - 11 */
-
-  jd = now.tm_mday - 32075 + (int)(1461*(1900 + now.tm_year + 4800 + (int)(((now.tm_mon+1)-14)/12))/4)
-    + (int)(367*((now.tm_mon+1) - 2 - (int)(((now.tm_mon+1) - 14)/12)*12)/12)
-    - (int)(3*(int)((1900 + now.tm_year + 4900 + (int)(((now.tm_mon+1) - 14)/12))/100)/4) - 0.5;
-  
-  second = (jd - 2440587.5)*86400 + 3600.0*now.tm_hour + now.tm_min*60.0 + now.tm_sec;
-
-  return (second);
-}
-
-/**********/
-int hms_to_deg (double *h0, double *h1, double *d0, double *d1, char *string) {
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
Index: /trunk/Ohana/src/delstar/src/RegionOps.c
===================================================================
--- /trunk/Ohana/src/delstar/src/RegionOps.c	(revision 4809)
+++ /trunk/Ohana/src/delstar/src/RegionOps.c	(revision 4810)
@@ -62,5 +62,5 @@
     strncpy (temp, &table.buffer[i*48], 48);
     temp[49] = 0;
-    hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
+    hstgsc_hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
     if (RA1 < RA0) RA1 += 360.0;
 
@@ -212,24 +212,2 @@
 
 */
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: unk/Ohana/src/delstar/src/aregion.c
===================================================================
--- /trunk/Ohana/src/delstar/src/aregion.c	(revision 4809)
+++ 	(revision )
@@ -1,186 +1,0 @@
-# include "delstar.h"
-
-double BigDecBounds[] = {0.0, 7.5, 15.0, 22.5, 30.0, 37.5, 45.0, 
-			 52.5, 60.0, 67.5, 75.0, 82.5, 90.0,
-			 0.0, -7.5, -15.0, -22.5, -30.0, -37.5, -45.0, 
-			 -52.5, -60.0, -67.5, -75.0, -82.5, -90.0};
-char *DecSections[] = {"N0000", "N0730", "N1500", "N2230", "N3000", "N3730", "N4500", 
-		       "N5230", "N6000", "N6730", "N7500", "N8230", "weirdness", 
-		       "S0000", "S0730", "S1500", "S2230", "S3000", "S3730", "S4500", 
-		       "S5230", "S6000", "S6730", "S7500", "S8230", "weirdness"};
-
-char *Dec2Sections[] = {"n0000", "n0730", "n1500", "n2230", "n3000", "n3730", "n4500", 
-			"n5230", "n6000", "n6730", "n7500", "n8230", "weirdness", 
-			"s0000", "s0730", "s1500", "s2230", "s3000", "s3730", "s4500", 
-			"s5230", "s6000", "s6730", "s7500", "s8230", "weirdness"};
-
-char *disk[] = {"disk 1", "disk 1", "disk 1", "disk 1", "disk 1", "disk 1", "disk 1", 
-		"disk 1", "disk 1", "disk 1", "disk 1", "disk 1", "weirdness", 
-		"disk 1", "disk 2", "disk 2", "disk 2", "disk 2", "disk 2", "disk 2", 
-		"disk 2", "disk 2", "disk 2", "disk 2", "disk 2", "weirdness"};
-
-int NBigRASections [] = {48, 47, 45, 43, 40, 36, 32, 28, 21, 15, 9, 3, 3, 48, 47, 45, 43, 40, 36, 32, 28, 21, 15, 9, 3, 3};
-
-int NDecLines[] = {593, 584, 551, 530, 522, 465, 406, 362, 280, 198, 123, 24, 
-                   0, 597, 578, 574, 577, 534, 499, 442, 376, 294, 212, 144, 48};
-
-/* find region file which contains ra, dec */
-aregion (region, f, ra, dec) 
-GSCRegion region[];
-FILE *f;
-double ra, dec;
-{
-  
-  
-  char buffer[28800], temp[50], file[50];
-  double dr, dd;
-  double RA0, RA1, DEC0, DEC1;
-  int i, NBigDec, NLINES, done, nregion;
-  
-  while (ra < 0) { ra += 360.0; }
-  while (ra >= 360.0) { ra -= 360.0; }
-    
-  if (dec >= 86.25) {
-    sprintf (file, "%s/n8230/pole.cpt\0", CATDIR);
-    region[0].DEC[0] = 86.25;
-    region[0].DEC[1] = 93.75;
-    region[0].RA[0] = -180.0;
-    region[0].RA[1] =  540.0;
-    strcpy (region[0].filename, file);
-    return;
-  }
-    
-  NBigDec = -1;
-  for (i = 0; i < 12; i++) {
-# ifdef DEBUG
-    fprintf (stderr, "%d %f %f %f\n", i, dec, BigDecBounds[i], BigDecBounds[i+1]);
-# endif
-    if ((dec >= BigDecBounds[i]) && (dec < BigDecBounds[i+1])) {
-      NBigDec = i;
-      break;
-    }
-  }
-  if (NBigDec < 0) {
-    for (i = 13; i < 24; i++) {
-# ifdef DEBUG
-      fprintf (stderr, "%d %f %f %f\n", i, dec, BigDecBounds[i], BigDecBounds[i+1]);
-# endif
-      if ((dec < BigDecBounds[i]) && (dec >= BigDecBounds[i+1])) {
-	NBigDec = i;
-	break;
-      }
-    }
-  }
-  if (NBigDec < 0) {
-    fprintf (stderr, "dec out of range: %f\n", dec);
-  }
-    
-  NLINES = 0;
-  for (i = 0; i < NBigDec; i++) {
-    NLINES += NDecLines[i];
-  }
-  fseek (f, 5*2880 + 48*NLINES, SEEK_SET);
-      
-  done = FALSE;
-  Fread (buffer, 1, 48*NDecLines[NBigDec], f, "char");
-  for (i = 0; !done && (i < NDecLines[NBigDec]); i++) {
-    strncpy (temp, &buffer[i*48], 48);
-    temp[49] = 0;
-    hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
-    if (RA1 < RA0) RA1 += 360.0;
-# ifdef DEBUG
-    fprintf (stderr, "%f %f %f  %f %f %f  %s\n", DEC0, dec, DEC1, RA0, ra, RA1, temp);
-# endif
-    if ((dec >= 0) && (dec >= DEC0) && (dec < DEC1) && (ra >= RA0) && (ra < RA1)) {
-      done = TRUE;
-    }
-    if ((dec < 0) && (dec < DEC0) && (dec >= DEC1) && (ra >= RA0) && (ra < RA1)) {
-      done = TRUE;
-    }
-  }
-  if (!done) {
-    fprintf (stderr, "error in search: %f %f\n", ra, dec);
-    exit (1);
-  }
-  temp[5] = 0;
-  sprintf (file, "%s/%s/%s.cpt\0", CATDIR, Dec2Sections[NBigDec],&temp[1]);
-  if (DEC0 < DEC1) {
-    region[0].DEC[0] = DEC0;
-    region[0].DEC[1] = DEC1;
-  } else {
-    region[0].DEC[0] = DEC1;
-    region[0].DEC[1] = DEC0;
-  }     
-  region[0].RA[0] = RA0;
-  region[0].RA[1] = RA1;
-  strcpy (region[0].filename, file);
-  return;
-}
-
-
-/**********/
-int hms_to_deg (h0, h1, d0, d1, string) 
-     char *string;
-     double *h0, *h1, *d0, *d1;
-{
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: unk/Ohana/src/delstar/src/convert.c
===================================================================
--- /trunk/Ohana/src/delstar/src/convert.c	(revision 4809)
+++ 	(revision )
@@ -1,384 +1,0 @@
-# include "delstar.h"
-  
-enum {TIME_NONE, TIME_DATE, TIME_DAYS, TIME_HOURS, TIME_MINUTES, TIME_SECONDS, TIME_JD, TIME_MJD};
-
-/***** convert [-]00:00:00 to 0.0000 ****/
-int dms_to_ddd (double *Value, char *string) {
-  
-  int valid, neg, status;
-  double tmp, value;
-  char *p1, *p2, *px;
-
-  valid = FALSE; 
-  neg = FALSE;
-  stripwhite (string);
-  p1 = string;
-  px = string + strlen(string);
-
-  if (string[0] == '-') { 
-    valid = TRUE; 
-    neg = TRUE;
-    p1 = &string[1];
-  }
-  if (string[0] == '+') { 
-    valid = TRUE; 
-    neg = FALSE;
-    p1 = &string[1];
-  }
-  if (isdigit(string[0])) { 
-    valid = TRUE;
-    p1 = &string[0];
-  }
-  if (!valid) { return (FALSE); }
-
-  status = 1;
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) return (FALSE); /* entry not a number: +fred */
-  value = tmp;
-  if (p2 == px) goto escape;    /* entry only number: +1.0 */ 
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;    /* entry not a number: +1:fred */
-  status = 2;
-  value += tmp / 60.0;
-  if (p2 == px) goto escape;    /* entry only number: +1:1 */
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;    /* entry not a number: +1:1:fred */
-  value += tmp / 3600.0;
-
- escape:
-  if (neg) {
-    value *= -1;
-  }
-  *Value = value;
-
-  return (status);
-}
-
-/**********/
-int str_to_radec (double *ra, double *dec, char *str1, char *str2) {
-
-  double Ra, Dec;
-
-  *ra = *dec = 0;
-  switch (dms_to_ddd (&Ra, str1)) {
-  case 0:
-    fprintf (stderr, "syntax error in RA\n");
-    return (FALSE);
-  case 1:
-    break;
-  case 2:
-    Ra = Ra * 15;
-    break;
-  }
-  switch (dms_to_ddd (&Dec, str2)) {
-  case 0:
-    fprintf (stderr, "syntax error in DEC\n");
-    return (FALSE);
-  case 1:
-  case 2:
-    break;
-  }
-  *ra = Ra;
-  *dec = Dec;
-  return (TRUE);
-}
-
-/**********/
-int chk_time (char *line) {
-
-  char *p1, *p2;
-  double tmp;
-  int mode;
-
-  p1 = line;
-  tmp = strtod (p1, &p2);
-  mode = TIME_DATE;
-  if (p2 == p1 + strlen (p1) - 1) {
-    if (*p2 == 'd') {
-      mode = TIME_DAYS;
-    }
-    if (*p2 == 'h') {
-      mode = TIME_HOURS;
-    }
-    if (*p2 == 'm') {
-      mode = TIME_MINUTES;
-    }
-    if (*p2 == 's') {
-      mode = TIME_SECONDS;
-    }
-    if (*p2 == 'j') {
-      mode = TIME_JD;
-    }
-    if (*p2 == 'J') {
-      mode = TIME_MJD;
-    }
-  }
-  return (mode);
-}
-
-/**********/
-int str_to_time (char *line, time_t *second) {
-  
-  char *tmpline;
-  struct tm *gmt;
-  struct timeval now;
-  double jd;
-  time_t tsec;
-
-  if (!strcasecmp (line, "NOW")) {
-    gettimeofday (&now, (struct timezone *) NULL);
-    *second = now.tv_sec;
-    return (TRUE);
-  }
-    
-  if (!strncasecmp (line, "TODAY", 5)) {
-    gettimeofday (&now, (struct timezone *) NULL);
-    if (line[5]) { /* line has extra data (ie, hh:mm:ss) */
-      tsec = now.tv_sec;
-      ALLOCATE (tmpline, char, 64);
-      gmt   = gmtime (&tsec);
-      sprintf (tmpline, "%04d/%02d/%02d,%s", 1900 + gmt[0].tm_year, gmt[0].tm_mon+1, gmt[0].tm_mday, &line[6]);
-      *second = date_to_sec (tmpline);
-      free (tmpline);
-      return (TRUE);
-    } else {
-      *second = 86400 * ((int)(now.tv_sec / 86400));
-      return (TRUE); 
-    }
-  }
-    
-  switch (chk_time (line)) {
-  case 0:
-    return (FALSE);
-  case TIME_DATE:
-    *second = date_to_sec (line);
-    return (TRUE);
-  case TIME_DAYS:
-    *second = strtod (line, 0) * 86400.0;
-    return (TRUE);
-  case TIME_HOURS:
-    *second = strtod (line, 0) * 3600.0;
-    return (TRUE);
-  case TIME_MINUTES:
-    *second = strtod (line, 0) * 60.0;
-    return (TRUE);
-  case TIME_SECONDS:
-    *second = strtod (line, 0);
-    return (TRUE);
-  case TIME_JD:
-    jd = strtod (line, 0);
-    *second = jd_to_sec (jd);
-    return (TRUE);
-  case TIME_MJD:
-    jd = strtod (line, 0);
-    *second = mjd_to_sec (jd);
-    return (TRUE);
-  }
-  return (FALSE);
-}
-
-
-/**********/
-int str_to_dtime (char *line, double *second) {
-  
-  switch (chk_time (line)) {
-  case 0:
-  case TIME_JD:
-  case TIME_MJD:
-  case TIME_DATE:
-    return (FALSE);
-  case TIME_DAYS:
-    *second = strtod (line, 0) * 86400.0;
-    return (TRUE);
-  case TIME_HOURS:
-    *second = strtod (line, 0) * 3600.0;
-    return (TRUE);
-  case TIME_MINUTES:
-    *second = strtod (line, 0) * 60.0;
-    return (TRUE);
-  case TIME_SECONDS:
-    *second = strtod (line, 0);
-    return (TRUE);
-  }
-  return (FALSE);
-}
-
-/**********/
-double sec_to_jd (time_t second) {
-
-  double jd;
-  
-  jd = second/86400.0 + 2440587.5;
-  return (jd);
-}
-
-/**********/
-time_t jd_to_sec (double jd) {
-
-  time_t second;
-
-  second = (jd - 2440587.5)*86400;
-  return (second);
-}
-
-/**********/
-double sec_to_mjd (time_t second) {
-
-  double mjd;
-  
-  mjd = second/86400.0 + 40587.0;
-  return (mjd);
-}
-
-/**********/
-time_t mjd_to_sec (double mjd) {
-
-  time_t second;
-
-  second = (mjd - 40587.0)*86400;
-  return (second);
-}
-
-/**********/
-char *sec_to_date (time_t second) {
-  
-  struct tm *gmt;
-  char *line;
-  
-  ALLOCATE (line, char, 64);
-  gmt   = gmtime (&second);
-  sprintf (line, "%04d/%02d/%02d,%02d:%02d:%02d", 
-	   1900 + gmt[0].tm_year, gmt[0].tm_mon+1, gmt[0].tm_mday, 
-	   gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 
-  return (line);
-
-}
-
-/***** date in format yyyy/mm/dd,hh:mm:ss *****/
-time_t date_to_sec (char *date) {
-  
-  time_t second;
-  double tmp, jd;
-  struct tm now;
-  char *p1, *p2, *px;
-  
-  p1 = date;
-  px = date + strlen(date);
-  bzero (&now, sizeof(now));
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_year = tmp;
-  if (now.tm_year > 1000) now.tm_year -= 1900;
-  if (now.tm_year <   50) now.tm_year += 100;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_mon = tmp - 1; /* mon runs from 0 - 11 */
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_mday = tmp;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  p1 = p2 + 1;
-  now.tm_hour = tmp;
-  if (p2 == px) goto escape;  
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_min = tmp;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_sec = tmp;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
- escape:
-  jd = now.tm_mday - 32075 + (int)(1461*(1900 + now.tm_year + 4800 + (int)(((now.tm_mon+1)-14)/12))/4)
-    + (int)(367*((now.tm_mon+1) - 2 - (int)(((now.tm_mon+1) - 14)/12)*12)/12)
-    - (int)(3*(int)((1900 + now.tm_year + 4900 + (int)(((now.tm_mon+1) - 14)/12))/100)/4) - 0.5;
-  
-  second = (jd - 2440587.5)*86400 + 3600.0*now.tm_hour + now.tm_min*60.0 + now.tm_sec;
-
-  return (second);
-}
-
-/***** short date in format yymmdd *****/
-time_t short_date_to_sec (char *date) {
-  
-  time_t second;
-  double jd;
-  struct tm now;
-  
-  bzero (&now, sizeof(now));
-
-  sscanf (date, "%2d%2d%2d", &now.tm_year, &now.tm_mon, &now.tm_mday);
-
-  if (now.tm_year >   51) now.tm_year +=   0;
-  if (now.tm_year <   50) now.tm_year += 100;
-  now.tm_mon --; /* tm_mon runs from 0 - 11 */
-
-  jd = now.tm_mday - 32075 + (int)(1461*(1900 + now.tm_year + 4800 + (int)(((now.tm_mon+1)-14)/12))/4)
-    + (int)(367*((now.tm_mon+1) - 2 - (int)(((now.tm_mon+1) - 14)/12)*12)/12)
-    - (int)(3*(int)((1900 + now.tm_year + 4900 + (int)(((now.tm_mon+1) - 14)/12))/100)/4) - 0.5;
-  
-  second = (jd - 2440587.5)*86400 + 3600.0*now.tm_hour + now.tm_min*60.0 + now.tm_sec;
-
-  return (second);
-}
-
-/**********/
-int hms_to_deg (double *h0, double *h1, double *d0, double *d1, char *string) {
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
Index: /trunk/Ohana/src/fixcat/src/aregion.c
===================================================================
--- /trunk/Ohana/src/fixcat/src/aregion.c	(revision 4809)
+++ /trunk/Ohana/src/fixcat/src/aregion.c	(revision 4810)
@@ -87,5 +87,5 @@
     strncpy (temp, &buffer[i*48], 48);
     temp[49] = 0;
-    hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
+    hstgsc_hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
     if (RA1 < RA0) RA1 += 360.0;
 # ifdef DEBUG
@@ -117,70 +117,2 @@
   return;
 }
-
-
-/**********/
-int hms_to_deg (h0, h1, d0, d1, string) 
-     char *string;
-     double *h0, *h1, *d0, *d1;
-{
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: /trunk/Ohana/src/getstar/src/aregion.c
===================================================================
--- /trunk/Ohana/src/getstar/src/aregion.c	(revision 4809)
+++ /trunk/Ohana/src/getstar/src/aregion.c	(revision 4810)
@@ -83,5 +83,5 @@
     strncpy (temp, &buffer[i*48], 48);
     temp[49] = 0;
-    hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
+    hstgsc_hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
     if (RA1 < RA0) RA1 += 360.0;
     if ((dec >= 0) && (dec >= DEC0) && (dec < DEC1) && (ra >= RA0) && (ra < RA1)) {
@@ -111,70 +111,2 @@
   return;
 }
-
-
-/**********/
-int hms_to_deg (h0, h1, d0, d1, string) 
-     char *string;
-     double *h0, *h1, *d0, *d1;
-{
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: /trunk/Ohana/src/libohana/Makefile
===================================================================
--- /trunk/Ohana/src/libohana/Makefile	(revision 4809)
+++ /trunk/Ohana/src/libohana/Makefile	(revision 4810)
@@ -32,5 +32,4 @@
 OBJ1 = \
 $(SRC)/ohana_allocate.$(ARCH).o  \
-$(SRC)/version.$(ARCH).o	 \
 $(SRC)/string.$(ARCH).o		 \
 $(SRC)/time.$(ARCH).o		 \
@@ -38,5 +37,5 @@
 $(SRC)/glockfile.$(ARCH).o	 \
 $(SRC)/config.$(ARCH).o		 \
-$(SRC)/Fseek.$(ARCH).o           
+$(SRC)/version.$(ARCH).o
 
 OBJ2 = \
Index: /trunk/Ohana/src/libohana/doc/libohana.html
===================================================================
--- /trunk/Ohana/src/libohana/doc/libohana.html	(revision 4809)
+++ /trunk/Ohana/src/libohana/doc/libohana.html	(revision 4810)
@@ -2,5 +2,27 @@
 <h2> libohana API reference </h2>
 
-<h3> functions in string.c </h3>
+<h3> ohana memory management functions </h3>
+
+<pre> ALLOCATE (void *ptr, type, int Nalloc); </pre>
+<pre> REALLOCATE (void *ptr, type, int Nalloc); </pre>
+<pre> CHECK_REALLOCATE (void *ptr, type, int Nalloc, int Nused, int Ndelta); </pre>
+<pre> free (void *ptr); </pre>
+
+<pre> void  ohana_memregister (void *ptr); </pre>
+<pre> void  ohana_memdump (int mode); </pre>
+<pre> void  ohana_memcheck (int mode); </pre>
+
+<h3> string manipulation functions (string.c) </h3>
+
+<pre> int   get_argument (int argc, char **argv, char *arg); </pre>
+<pre> int   remove_argument (int Narg, int *argc, char **argv); </pre>
+<pre> char *strcreate (char *string); </pre>
+<pre> char *strncreate (char *string, int Nbytes); </pre>
+<pre> int   strnumcmp (char *str1, char *str2); </pre>
+<pre> int   stripwhite (char *string); </pre>
+<pre> int   scan_line (FILE *f, char *line); </pre>
+<pre> int   dparse (double *value, int Nentry, char *line); </pre>
+<pre> int   fparse (double *value, int Nentry, char *line); </pre>
+<pre> char *_parse_nextword (char *string); </pre>
 
 <pre> int get_argument (int argc, char **argv, char *arg); </pre>
@@ -10,5 +32,5 @@
 <hr>
 
-<pre> int remove_argument (int Narg, int &argc, char **argv); </pre>
+<pre> int remove_argument (int Narg, int *argc, char **argv); </pre>
 
 remove the given entry Narg from the argv list, adjusting argc
@@ -27,12 +49,5 @@
 <hr>
 
-<pre> char *strcreate (char *string); </pre>
-<pre> char *strncreate (char *string, int Nbytes); </pre>
-<pre> int scan_line (FILE *f, char *line); </pre>
-<pre> int dparse (double *value, int Nentry, char *line); </pre>
-<pre> int fparse (double *value, int Nentry, char *line); </pre>
-<pre> char *_parse_nextword (char *string); </pre>
-
-<h3> functions in findexec.c </h3>
+<h3> file system functions (findexec.c) </h3>
 
 <pre> char *pathname (char *file); </pre>
@@ -41,20 +56,15 @@
 <pre> char *filebasename (char *file); </pre>
 <pre> char *findexec (int argc, char **argv); </pre>
-<pre> int mkdirhier (char *path); </pre>
+<pre> int   mkdirhier (char *path); </pre>
 <pre> char *getcwd_cfht (char *path, int size); </pre>
-
-<h3> functions in glockfile.c </h3>
+<pre> void  make_backup (char *filename); </pre>
+<pre> int Fseek (FILE *f, long offset, int whence); </pre>
+
+<h3> lockfile functions (glockfile.c) </h3>
 
 <pre> FILE *fsetlockfile (char *filename, double timeout, int type, int *state); </pre>
-<pre> int fclearlockfile (char *filename, FILE *f, int type, int *state); </pre>
-<pre> int setlockfile2 (char *filename, double timeout, int type, int *state); </pre>
-<pre> int clearlockfile2 (char *filename, double timeout, int type, int *state); </pre>
-
-<b> deprecated functions : are they all removed?  </b>
-<pre> int setlockfile (char *name, double timeout, int hard); </pre>
-<pre> int clearlockfile (char *name, int fd, int hard); </pre>
-<pre> int gnfsflush (char *filename); </pre>
-
-<h3> functions in Fread.c </h3>
+<pre> int   fclearlockfile (char *filename, FILE *f, int type, int *state); </pre>
+
+<h3> read/write (Fread.c) </h3>
 
 <pre> int Fread (char ptr, int size, int nitems, FILE *f, char *type); </pre>
@@ -63,12 +73,57 @@
 <pre> int ConvertStruct (char *buffer, int size, int nitems, char *type); </pre>
 
-<h3> functions in LoadPhotcodes.c </h3>
-
-<pre> int LoadPhotcodes (char *filename, PhotCodeData *photcodes); </pre>
-<pre> int FreePhotcodes (PhotCodeData *photcodes); </pre>
-<pre> int GetPhotcodebyName (PhotCodeData *photcodes, char *name); </pre>
-<pre> int GetPhotcodeRefs (PhotCodeData *photcodes, char *name, int *code, int *ref); </pre>
-<pre> int GetPhotcodeEquiv (PhotCodeData *photcodes, char *name, int *code, int *ref); </pre>
-<pre> char *GetPhotnamebyCode (PhotCodeData *photcodes, int code); </pre>
+Several of these functions are used to perform byte-swapping for
+structures in the pre-autocode days.  They should be deprecated and
+dropped, but the autocoding must superceed the hard-wired structure
+first.
+
+<h3> miscellaneous functions </h3>
+
+<pre> char *ohana_version (); </pre>
+
+<h3> photcode manipulations (LoadPhotcodes.c) </h3>
+
+<pre> int   	LoadPhotcodes (char *filename, PhotCodeData *photcodes); </pre>
+<pre> int   	FreePhotcodes (PhotCodeData *photcodes); </pre>
+
+<pre> PhotCode *GetPhotcodebyName (char *name); </pre>
+<pre> PhotCode *GetPhotcodeEquivbyName (char *name); </pre>
+<pre> PhotCode *GetPhotcodebyCode (int code); </pre>
+<pre> PhotCode *GetPhotcodeEquivbyCode (int code); </pre>
+<pre> PhotCode *GetPhotcodebyNsec (int Nsec); </pre>
+<pre> char     *GetPhotcodeNamebyCode (int code); </pre>
+
+<pre> int 	GetPhotcodeCodebyName (char *name); </pre>
+<pre> int 	GetPhotcodeEquivCodebyName (char *name); </pre>
+<pre> int 	GetPhotcodeEquivCodebyCode (int code); </pre>
+<pre> int 	GetPhotcodeNsec (int code); </pre>
+<pre> int 	GetPhotcodeNsecfilt (); </pre>
+<pre> int      *GetPhotcodeEquivList (int code, int *nlist); </pre>
+
+<pre> void 	SetZeroPoint (double ZP); </pre>
+<pre> void 	ParseColorTerms (char *terms, float *X, int *N); </pre>
+
+<pre> int       PhotColor (Average *average, SecFilt *secfilt, Measure *measure, int c1, int c2, double *color); </pre>
+<pre> short 	iPhotColor (Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); </pre>
+
+<pre> double 	PhotInst (Measure *measure); </pre>
+<pre> double 	PhotCat (Measure *measure); </pre>
+<pre> double 	PhotSys (Measure *measure, Average *average, SecFilt *secfilt); </pre>
+<pre> double 	PhotRel (Measure *measure, Average *average, SecFilt *secfilt); </pre>
+<pre> double 	PhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); </pre>
+<pre> double 	PhotAve (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+<pre> double 	PhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure); </pre>
+<pre> double 	PhotdM (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+<pre> double 	PhotXm (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+
+<pre> short 	iPhotInst (Measure *measure); </pre>
+<pre> short 	iPhotCat (Measure *measure); </pre>
+<pre> short 	iPhotSys (Measure *measure, Average *average, SecFilt *secfilt); </pre>
+<pre> short 	iPhotRel (Measure *measure, Average *average, SecFilt *secfilt); </pre>
+<pre> short 	iPhotCal (Measure *thisone, Average *average, SecFilt *secfilt, Measure *measure, PhotCode *code); </pre>
+<pre> short 	iPhotAve (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+<pre> short 	iPhotRef (PhotCode *code, Average *average, SecFilt *secfilt, Measure *measure); </pre>
+<pre> short 	iPhotdM (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
+<pre> short 	iPhotXm (PhotCode *code, Average *average, SecFilt *secfilt); </pre>
 
 <h3> functions in config.c </h3>
@@ -113,6 +168,4 @@
 
 <pre>
-ALLOCATE (void *ptr, type, int Nelement)
-REALLOCATE (void *ptr, type, int Nelement)
 
 SIGN(X)  
Index: /trunk/Ohana/src/libohana/include/dvo.h
===================================================================
--- /trunk/Ohana/src/libohana/include/dvo.h	(revision 4809)
+++ /trunk/Ohana/src/libohana/include/dvo.h	(revision 4810)
@@ -171,8 +171,8 @@
 PhotCode *GetPhotcodebyNsec (int Nsec);
 PhotCode *GetPhotcodeEquivbyCode (int code);
-char *GetPhotcodeNamebyCode (int code);
+
+char     *GetPhotcodeNamebyCode (int code);
 
 double PhotInst (Measure *measure);
-double PhotAbs (Measure *measure);
 double PhotCat (Measure *measure);
 double PhotSys (Measure *measure, Average *average, SecFilt *secfilt);
Index: /trunk/Ohana/src/libohana/include/ohana.h
===================================================================
--- /trunk/Ohana/src/libohana/include/ohana.h	(revision 4809)
+++ /trunk/Ohana/src/libohana/include/ohana.h	(revision 4810)
@@ -107,4 +107,5 @@
 char   *filebasename           PROTO((char *name));
 char   *filerootname           PROTO((char *name));
+char   *fileextname            PROTO((char *file));
 char   *findexec               PROTO((int argc, char **argv));
 int     mkdirhier              PROTO((char *path));
@@ -138,8 +139,9 @@
 int     str_to_dtime           PROTO((char *line, double *second));
 int     str_to_time            PROTO((char *line, time_t *second));
-int     str_to_radec           PROTO((double *ra, double *dec, char *str1, char *str2));
 double  sec_to_mjd             PROTO((time_t second));
 time_t  mjd_to_sec             PROTO((double mjd));
-int     hms_to_deg             PROTO((double *h0, double *h1, double *d0, double *d1, char *string));
+
+int     hstgsc_hms_to_deg      PROTO((double *h0, double *h1, double *d0, double *d1, char *string));
+int     str_to_radec           PROTO((double *ra, double *dec, char *str1, char *str2));
 
 /*
Index: unk/Ohana/src/libohana/src/Fseek.c
===================================================================
--- /trunk/Ohana/src/libohana/src/Fseek.c	(revision 4809)
+++ 	(revision )
@@ -1,17 +1,0 @@
-# include <ohana.h>
-
-/* fseek with timeout - 0.5 sec */
-int Fseek (FILE *f, long offset, int whence) {
-
-  int status, k;
-
-  status = fseek (f, offset, whence);
-  if (status == -1) {
-    for (k = 0; (k < 10) && ((status = fseek (f, 0, SEEK_SET)) == -1); k++) usleep (50000);
-    if (status == -1) {
-      return (0);
-    }
-  }
-  return (1);
-}
-
Index: unk/Ohana/src/libohana/src/backup.c
===================================================================
--- /trunk/Ohana/src/libohana/src/backup.c	(revision 4809)
+++ 	(revision )
@@ -1,2 +1,0 @@
-# include <ohana.h>
-
Index: /trunk/Ohana/src/libohana/src/findexec.c
===================================================================
--- /trunk/Ohana/src/libohana/src/findexec.c	(revision 4809)
+++ /trunk/Ohana/src/libohana/src/findexec.c	(revision 4810)
@@ -270,2 +270,17 @@
   }
 }
+
+/* fseek with timeout - 0.5 sec */
+int Fseek (FILE *f, long offset, int whence) {
+
+  int status, k;
+
+  status = fseek (f, offset, whence);
+  if (status == -1) {
+    for (k = 0; (k < 10) && ((status = fseek (f, 0, SEEK_SET)) == -1); k++) usleep (50000);
+    if (status == -1) {
+      return (0);
+    }
+  }
+  return (1);
+}
Index: /trunk/Ohana/src/markrock/src/aregion.c
===================================================================
--- /trunk/Ohana/src/markrock/src/aregion.c	(revision 4809)
+++ /trunk/Ohana/src/markrock/src/aregion.c	(revision 4810)
@@ -87,5 +87,5 @@
     strncpy (temp, &buffer[i*48], 48);
     temp[49] = 0;
-    hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
+    hstgsc_hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
     if (RA1 < RA0) RA1 += 360.0;
 # ifdef DEBUG
@@ -117,70 +117,2 @@
   return;
 }
-
-
-/**********/
-int hms_to_deg (h0, h1, d0, d1, string) 
-     char *string;
-     double *h0, *h1, *d0, *d1;
-{
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: unk/Ohana/src/markrock/src/old/add_unfound.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/add_unfound.c	(revision 4809)
+++ 	(revision )
@@ -1,35 +1,0 @@
-  /* incorporate unmatched image stars -- after all catalogs searched... */
-  for (i = 0; i < Nstars; i++) {
-    if (!found[i]) {
-      catalog[0].average[Nave].R = stars[N1[i]].R;
-      catalog[0].average[Nave].D = stars[N1[i]].D;
-      catalog[0].average[Nave].M = 1000.0*stars[N1[i]].M;
-      catalog[0].average[Nave].Nm = 1;
-      catalog[0].average[Nave].Xp = catalog[0].average[Nave].Xm = 0.0;
-      catalog[0].average[Nave].offset = Nmeas;
-      catalog[0].measure[Nmeas].dR  = 0.0;
-      catalog[0].measure[Nmeas].dD  = 0.0;
-      catalog[0].measure[Nmeas].M   = 1000.0*stars[N1[i]].M;
-      catalog[0].measure[Nmeas].dM  = stars[N1[i]].dM;
-      catalog[0].measure[Nmeas].t  = 3600.0 + stars[N1[i]].Y*0.1;
-      catalog[0].measure[Nmeas].average = (0x00ffffff & Nave);
-      /* time of star = time of image + offset + Y*rate */
-      Nave ++;
-      if (Nave == 0x1000000) {
-	fprintf (stderr, "too many stars in catalog\n");
-	clear_lockfile ();
-	exit (0);
-      }
-      if (Nave == NAVE) {
-	NAVE = Nave + 1000;
-	REALLOCATE (next, int, NAVE);
-	REALLOCATE (catalog[0].average, Average, NAVE);
-      }
-      Nmeas ++;
-      if (Nmeas == NMEAS) {
-	NMEAS = Nmeas + 1000;
-	REALLOCATE (next, int, NMEAS);
-	REALLOCATE (catalog[0].measure, Measure, NMEAS);
-      }
-    }
-  }
Index: unk/Ohana/src/markrock/src/old/addstar.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/addstar.c	(revision 4809)
+++ 	(revision )
@@ -1,70 +1,0 @@
-# include "addstar.h"
-
-main (argc, argv)
-int argc;
-char **argv;
-{
-
-  FILE *f;
-  int i, Nstars, Nimage, Nregions, Nmissed;
-  Stars *stars, *gstars();
-  Image image, *pimage, *gimages();
-  Catalog catalog;
-  GSCRegion *region, *gregions();
-  struct timeval now, then;  
-  
-  gettimeofday (&then, (void *) NULL);
-  ConfigInit (argc, argv);
-
-  VERBOSE = FALSE;
-  if ((i = get_argument (argc, argv, "-v"))) {
-    VERBOSE = TRUE;
-    remove_argument (i, &argc, argv);
-  }
-  if (argc < 2) {
-    fprintf (stderr, "ERROR: Usage: addstar filename\n");
-    exit (0);
-  }
-
-  /* if lockfile exists, program will complain and quit */
-  check_lockfile ();
-
-  stars = gstars (argv[1], &Nstars, &image);
-
-  pimage = gimages (&image, &Nimage);
-  region = gregions (&image, &Nregions);
-
-  for (i = 0; i < Nregions; i++) {
-    gcatalog (&region[i], &catalog);
-    find_matches (&region[i], stars, Nstars, &catalog, &image, pimage, Nimage);
-    wcatalog (&region[i], &catalog);
-  }
-  
-  for (Nmissed = i = 0; i < Nstars; i++) {
-    if (stars[i].found == -1) {
-      fprintf (stderr, "%d %f %f %f %f\n", i, stars[i].R, stars[i].D, stars[i].M, stars[i].dM);
-      Nmissed ++;
-    }
-  }
-  if (Nmissed) fprintf (stderr, "WARNING: %d stars in image were missed!\n", Nmissed);
-
-  wimage (argv[1], &image, Nstars);
-
-  if (VERBOSE) {
-    gettimeofday (&now, (void *) NULL);
-    fprintf (stderr, "%s: elapsed time = %.2f sec\n", argv[1], 
-	     (now.tv_sec - then.tv_sec) + 1e-6*(now.tv_usec - then.tv_usec));
-  }
-  clear_lockfile ();
-  fprintf (stderr, "SUCCESS\n");
-}
-
-
-  /* stars within a file are not all within 1 region file:
-     1) check if unfound stars are in current region 
-     2) if not, keep unfound for next pass */
-
-
-/* input star lists should be adjusted so 1 e/sec is mag 25.000 */ 
-
-
Index: unk/Ohana/src/markrock/src/old/aregion.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/aregion.c	(revision 4809)
+++ 	(revision )
@@ -1,189 +1,0 @@
-# include "markstar.h"
-
-double BigDecBounds[] = {0.0, 7.5, 15.0, 22.5, 30.0, 37.5, 45.0, 
-			 52.5, 60.0, 67.5, 75.0, 82.5, 90.0,
-			 0.0, -7.5, -15.0, -22.5, -30.0, -37.5, -45.0, 
-			 -52.5, -60.0, -67.5, -75.0, -82.5, -90.0};
-char *DecSections[] = {"N0000", "N0730", "N1500", "N2230", "N3000", "N3730", "N4500", 
-		       "N5230", "N6000", "N6730", "N7500", "N8230", "weirdness", 
-		       "S0000", "S0730", "S1500", "S2230", "S3000", "S3730", "S4500", 
-		       "S5230", "S6000", "S6730", "S7500", "S8230", "weirdness"};
-
-char *Dec2Sections[] = {"n0000", "n0730", "n1500", "n2230", "n3000", "n3730", "n4500", 
-			"n5230", "n6000", "n6730", "n7500", "n8230", "weirdness", 
-			"s0000", "s0730", "s1500", "s2230", "s3000", "s3730", "s4500", 
-			"s5230", "s6000", "s6730", "s7500", "s8230", "weirdness"};
-
-char *disk[] = {"disk 1", "disk 1", "disk 1", "disk 1", "disk 1", "disk 1", "disk 1", 
-		"disk 1", "disk 1", "disk 1", "disk 1", "disk 1", "weirdness", 
-		"disk 1", "disk 2", "disk 2", "disk 2", "disk 2", "disk 2", "disk 2", 
-		"disk 2", "disk 2", "disk 2", "disk 2", "disk 2", "weirdness"};
-
-int NBigRASections [] = {48, 47, 45, 43, 40, 36, 32, 28, 21, 15, 9, 3, 3, 48, 47, 45, 43, 40, 36, 32, 28, 21, 15, 9, 3, 3};
-
-int NDecLines[] = {593, 584, 551, 530, 522, 465, 406, 362, 280, 198, 123, 24, 
-                   0, 597, 578, 574, 577, 534, 499, 442, 376, 294, 212, 144, 48};
-
-/* find region file which contains ra, dec */
-aregion (region, f, ra, dec) 
-GSCRegion region[];
-FILE *f;
-double ra, dec;
-{
-
-  
-  
-  char buffer[28800], temp[50], file[50];
-  double dr, dd;
-  double RA0, RA1, DEC0, DEC1;
-  int i, NBigDec, NLINES, done, nregion;
-  
-  while (ra < 0) {
-    ra += 360.0;
-  }
-    
-  if (dec >= 86.25) {
-    sprintf (file, "%s/n8230/pole.cpt\0", GSCDIR);
-    region[0].DEC[0] = 86.25;
-    region[0].DEC[1] = 93.75;
-    region[0].RA[0] = -180.0;
-    region[0].RA[1] =  540.0;
-    strcpy (region[0].filename, file);
-    return;
-  }
-    
-  NBigDec = -1;
-  for (i = 0; i < 12; i++) {
-# ifdef DEBUG
-    fprintf (stderr, "%d %f %f %f\n", i, dec, BigDecBounds[i], BigDecBounds[i+1]);
-# endif
-    if ((dec >= BigDecBounds[i]) && (dec < BigDecBounds[i+1])) {
-      NBigDec = i;
-      break;
-    }
-  }
-  if (NBigDec < 0) {
-    for (i = 13; i < 24; i++) {
-# ifdef DEBUG
-      fprintf (stderr, "%d %f %f %f\n", i, dec, BigDecBounds[i], BigDecBounds[i+1]);
-# endif
-      if ((dec < BigDecBounds[i]) && (dec >= BigDecBounds[i+1])) {
-	NBigDec = i;
-	break;
-      }
-    }
-  }
-  if (NBigDec < 0) {
-    fprintf (stderr, "dec out of range: %f\n", dec);
-  }
-    
-  NLINES = 0;
-  for (i = 0; i < NBigDec; i++) {
-    NLINES += NDecLines[i];
-  }
-  fseek (f, 5*2880 + 48*NLINES, SEEK_SET);
-      
-  done = FALSE;
-  Fread (buffer, 1, 48*NDecLines[NBigDec], f, "char");
-  for (i = 0; !done && (i < NDecLines[NBigDec]); i++) {
-    strncpy (temp, &buffer[i*48], 48);
-    temp[49] = 0;
-    hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
-    if (RA1 < RA0) RA1 += 360.0;
-# ifdef DEBUG
-    fprintf (stderr, "%f %f %f  %f %f %f  %s\n", DEC0, dec, DEC1, RA0, ra, RA1, temp);
-# endif
-    if ((dec >= 0) && (dec >= DEC0) && (dec < DEC1) && (ra >= RA0) && (ra < RA1)) {
-      done = TRUE;
-    }
-    if ((dec < 0) && (dec < DEC0) && (dec >= DEC1) && (ra >= RA0) && (ra < RA1)) {
-      done = TRUE;
-    }
-  }
-  if (!done) {
-    fprintf (stderr, "error in search: %f %f\n", ra, dec);
-    clear_lockfile ();
-    exit (0);
-  }
-  temp[5] = 0;
-  sprintf (file, "%s/%s/%s.cpt\0", GSCDIR, Dec2Sections[NBigDec],&temp[1]);
-  if (DEC0 < DEC1) {
-    region[0].DEC[0] = DEC0;
-    region[0].DEC[1] = DEC1;
-  } else {
-    region[0].DEC[0] = DEC1;
-    region[0].DEC[1] = DEC0;
-  }     
-  region[0].RA[0] = RA0;
-  region[0].RA[1] = RA1;
-  strcpy (region[0].filename, file);
-  return;
-}
-
-
-/**********/
-int hms_to_deg (h0, h1, d0, d1, string) 
-     char *string;
-     double *h0, *h1, *d0, *d1;
-{
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: unk/Ohana/src/markrock/src/old/dumpcat.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/dumpcat.c	(revision 4809)
+++ 	(revision )
@@ -1,61 +1,0 @@
-# include "addstar.h"
-
-main (argc, argv)
-int argc;
-char **argv;
-{
-
-  int i, j, Nstars, Nimage, Nregions;
-  Average *average;
-  Measure *measure;
-  Missing *missing;
-  Catalog catalog;
-  GSCRegion region;
-  FILE *f;
-  
-  if (argc < 4) {
-    fprintf (stderr, "USAGE: dumpcat catalog output mode(0,1,2,3)\n");
-    clear_lockfile ();
-    exit (0);
-  }
-
-  strcpy (region.filename, argv[1]);
-
-  gcatalog (&region, &catalog);
-
-  f = fopen (argv[2], "w");
-  if (f == (FILE *) NULL) {
-    fprintf (stderr, "failed to open file %s for write\n", argv[2]);
-    clear_lockfile ();
-    exit (0);
-  }
-
-  average = catalog.average;
-  for (i = 0; i < catalog.Naverage; i++) {
-    fprintf (f, "%10.6f %10.6f %7.3f %3d %3d %8d %d\n", average[i].R, average[i].D, 
-	     0.001*average[i].M, average[i].Nm, average[i].Nn, average[i].offset, catalog.measure[average[i].offset].t);
-    if ((atof(argv[3]) == 1) || (atof(argv[3]) == 3)) {
-      measure = &catalog.measure[average[i].offset];
-      for (j = 0; j < average[i].Nm; j++) {
-	fprintf (f, "  %d %d %f %f %d\n", measure[j].dR, measure[j].dD, 0.001*measure[j].M, 
-		  measure[j].t, measure[j].average);
-      }
-    }
-    if ((atof(argv[3]) == 2) || (atof(argv[3]) == 3)) {
-      if (average[i].Nn > 0) {
-	missing = &catalog.missing[average[i].missing];
-	for (j = 0; j < average[i].Nn; j++) {
-	  fprintf (f, "  %f\n", missing[j].t);
-	}
-      } else { 
-	fprintf (f, "no missing obs\n");
-      }
-    }
-  }
-
-    
-
-  fclose (f);
-    
-
-}
Index: unk/Ohana/src/markrock/src/old/find_bright_stars.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/find_bright_stars.c	(revision 4809)
+++ 	(revision )
@@ -1,142 +1,0 @@
-# include "markstar.h"
-
-find_bright_stars (catalog, catstats)
-Catalog catalog[];
-CatStats catstats[];
-{
-
-  int i, j, n, m, first_j, Nave, Ngsc;
-  Catalog GSCdata;
-  double MinRA, MinDEC, MaxRA, MaxDEC, RaCenter, DecCenter;
-  Coords *tcoords;
-  float *X1, *Y1, *X2, *Y2;
-  int *N1, *N2;
-  char *mark;
-  double dX, dY, dR, MaxDist, MaxDist1, MaxRadius, radius, radius2;
-
-  load_gsc_data (&GSCdata, catstats);
-
-  Nave = catalog[0].Naverage;
-  Ngsc = GSCdata.Naverage;
-    
-  /* in the function below, it is better to have the catalog with
-     more stars associated with index 2 (j) */ 
-  X2 = catstats[0].X;
-  Y2 = catstats[0].Y;
-  N2 = catstats[0].N;
-  ALLOCATE (X1, float, Ngsc);
-  ALLOCATE (Y1, float, Ngsc);
-  ALLOCATE (N1, int, Ngsc);
-  ALLOCATE (mark, char, Nave);
-  bzero (mark, Nave);
-
-  tcoords = &catstats[0].coords;
-  for (i = 0; i < Ngsc; i++) {
-    fRD_to_XY (&X1[i], &Y1[i], GSCdata.average[i].R, GSCdata.average[i].D, tcoords);
-    N1[i] = i;
-  }
-  if (Ngsc > 1) sort_lists (X1, Y1, N1, Ngsc);
-  
-  /* first find stellar halos */
-  /* max radius (mag = -1) */
-  /** the j index moves quickly and is better associated with the catalog with more stars */
-  MaxRadius = BRIGHT_HALO_SLOPE * (-1.0 - BRIGHT_HALO_MAG); 
-  /** find catalog stars near GSC stars **/
-  for (i = j = 0; (i < Ngsc) && (j < Nave); ) {
-    dX = X1[i] - X2[j];
-    if (dX <= -2*MaxRadius) {
-      i++;
-      continue;
-    }
-    if (dX >= 2*MaxRadius) {
-      j++;
-      continue;
-    }
-    /* negative dX: j is too large, positive dX, i is too large */
-    first_j = j;
-    radius = MAX (BRIGHT_HALO_SLOPE * (0.001*GSCdata.average[N1[i]].M - BRIGHT_HALO_MAG), 0.0);
-    if (radius == 0) {
-      i++; 
-      continue;
-    }
-    radius2 = radius*radius;
-    for (; (dX > -2*radius) && (j < Nave); j++) {
-      dX = X1[i] - X2[j];
-      dY = Y1[i] - Y2[j];
-      dR = dX*dX + dY*dY;
-      if (dR < radius2) {  /* new measurement of this star */
-	mark[j] = TRUE;
-      }
-    }
-    j = first_j;
-    i++;
-  }
-  
-  /* next find y spikes */
-  /** find catalog stars near GSC stars **/
-  for (i = j = 0; (i < Ngsc) && (j < Nave); ) {
-    dX = X1[i] - X2[j];
-    if (dX <= -BRIGHT_YTRAIL_WIDTH) {
-      i++;
-      continue;
-    }
-    if (dX >= BRIGHT_YTRAIL_WIDTH) {
-      j++;
-      continue;
-    }
-    /* negative dX: j is too large, positive dX, i is too large */
-    first_j = j;
-    MaxDist = MAX (BRIGHT_YTRAIL_SLOPE * (0.001*GSCdata.average[N1[i]].M - BRIGHT_YTRAIL_MAG), 0.0);
-    for (; (dX > -BRIGHT_YTRAIL_WIDTH) && (j < Nave); j++) {
-      dX = X1[i] - X2[j];
-      dY = Y1[i] - Y2[j];
-      if ((fabs(dX) < BRIGHT_YTRAIL_WIDTH) && (fabs(dY) < MaxDist)) {  /* star on spike */
-	mark[j] = TRUE;
-      }
-    }
-    j = first_j;
-    i++;
-  }
-  
-  /* next find x spikes */
-  /** find catalog stars near GSC stars **/
-  MaxDist = MAX (BRIGHT_XTRAIL_SLOPE * (-1.0 - BRIGHT_XTRAIL_MAG), 0.0);
-  for (i = j = 0; (i < Ngsc) && (j < Nave); ) {
-    dX = X1[i] - X2[j];
-    if (dX <= -MaxDist) {
-      i++;
-      continue;
-    }
-    if (dX >= MaxDist) {
-      j++;
-      continue;
-    }
-    /* negative dX: j is too large, positive dX, i is too large */
-    first_j = j;
-    MaxDist1 = MAX (BRIGHT_XTRAIL_SLOPE * (0.001*GSCdata.average[N1[i]].M - BRIGHT_XTRAIL_MAG), 0.0);
-    for (; (dX > -MaxDist1) && (j < Nave); j++) {
-      dX = X1[i] - X2[j];
-      dY = Y1[i] - Y2[j];
-      if ((fabs(dY) < BRIGHT_XTRAIL_WIDTH) && (fabs(dX) < MaxDist1)) {  /* star on spike */
-	mark[j] = TRUE;
-      }
-    }
-    j = first_j;
-    i++;
-  }
-
-  /* done with search, mark selected stars */
-  for (i = 0; i < Nave; i++) {
-    if (mark[i]) {
-      catalog[0].average[N2[i]].code = ID_BLEED;
-    }
-  } 
-  
-  free (X1);
-  free (Y1);
-  free (N1);
-  free (mark);
-  free (GSCdata.average);
-
-}
-
Index: unk/Ohana/src/markrock/src/old/find_bright_stars_test.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/find_bright_stars_test.c	(revision 4809)
+++ 	(revision )
@@ -1,106 +1,0 @@
-# include "markstar.h"
-
-find_bright_stars (catalog, catstats, filename)
-Catalog catalog[];
-CatStats catstats[];
-char *filename;
-{
-
-  int i, j, first_j, Nave, Ngsc;
-  Catalog GSCdata;
-  double MinRA, MinDEC, MaxRA, MaxDEC, RaCenter, DecCenter;
-  Coords *tcoords;
-  float *X1, *Y1, *X2, *Y2;
-  int *N1, *N2, *match;
-  char *mark;
-  double dX, dY, dR, RADIUS2, BRIGHT_RADIUS, radius;
-
-  load_gsc_data (&GSCdata, filename);
-
-  Nave = catalog[0].Naverage;
-  Ngsc = GSCdata.Naverage;
-    
-  X1 = catstats[0].X;
-  Y1 = catstats[0].Y;
-  N1 = catstats[0].N;
-  ALLOCATE (mark, char, Nave);
-  ALLOCATE (match, int, Nave);
-  ALLOCATE (X2, float, Ngsc);
-  ALLOCATE (Y2, float, Ngsc);
-  ALLOCATE (N2, int, Ngsc);
-  bzero (mark, Nave);
-
-  tcoords = &catstats[0].coords;
-  for (i = 0; i < Ngsc; i++) {
-    fRD_to_XY (&X2[i], &Y2[i], GSCdata.average[i].R, GSCdata.average[i].D, tcoords);
-    N2[i] = i;
-  }
-  if (Ngsc > 1) sort_lists (X2, Y2, N2, Ngsc);
-  
-  /* max radius (mag = -1) */
-  BRIGHT_RADIUS = BRIGHT_SLOPE * (-1.0 - BRIGHT_MAG);
-
-  /** find catalog stars near GSC stars **/
-  for (i = j = 0; (i < Nave) && (j < Ngsc); ) {
-    
-    dX = X1[i] - X2[j];
-
-    if (dX <= -2*BRIGHT_RADIUS) {
-      i++;
-      continue;
-    }
-    if (dX >= 2*BRIGHT_RADIUS) {
-      j++;
-      continue;
-    }
-
-    /* negative dX: j is too large, positive dX, i is too large */
-    first_j = j;
-    for (; (dX > -2*BRIGHT_RADIUS) && (j < Ngsc); j++) {
-      radius = MAX (BRIGHT_SLOPE * (0.001*GSCdata.average[N2[j]].M - BRIGHT_MAG), 0.0);
-      RADIUS2 = radius*radius;
-      dX = X1[i] - X2[j];
-      dY = Y1[i] - Y2[j];
-      dR = dX*dX + dY*dY;
-      if (dR < RADIUS2) {  /* new measurement of this star */
-	mark[i] = TRUE;
-	match[i] = N2[j];
-      }
-    }
-    j = first_j;
-    i++;
-  }
-  
-  /* done with search, mark selected stars */
-  
-  for (i = 0; i < Nave; i++) {
-    if (mark[i]) {
-      catalog[0].average[N1[i]].code = ID_BLEED;
-    }
-  } 
-  
-}
-
-	/* for test purposes, like determining the parameters, uncomment this 
-	n = N1[i];
-	m = N2[j];
-	fprintf (stdout, "%f %f %f %f %f %f\n", 
-GSCdata.average[m].R, GSCdata.average[m].D, 
-		 0.001*GSCdata.average[m].M, 
-catalog[0].average[n].R, catalog[0].average[n].D, 0.001*catalog[0].average[n].M); */
-  
-  /* for test purposes, like determining the parameters, uncomment this 
-  clear_lockfile (); 
-  fprintf (stderr, "SUCCESS\n");
-  exit (0); */
-
-
-
-	n = N1[i];
-	m = N2[j];
-	RD_to_XY (&X, &Y, Ghostdata[0].average[m].R, Ghostdata[0].average[m].D, &image[0].coords);
-	fprintf (stdout, "%f %f %f %f %f %f %d %f %f\n",
-		 Ghostdata[0].average[m].R, Ghostdata[0].average[m].D, 
-		 0.001*Ghostdata[0].average[m].M, catalog[0].average[n].R, 
-		 catalog[0].average[n].D, 0.001*catalog[0].average[n].M, 
-		 catalog[0].average[n].Nm, X, Y);
Index: unk/Ohana/src/markrock/src/old/find_images.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/find_images.c	(revision 4809)
+++ 	(revision )
@@ -1,175 +1,0 @@
-# include "markstar.h"
-double opening_angle ();
-
-Image *find_images (catstats, Nimages)
-CatStats catstats[];
-int *Nimages;
-{
-  
-  Header header;
-  Image *timage, *image;
-  int i, j, k, found, nimage, Nimage, NIMAGE, NTIMAGE, Nloop, Nlast;
-  int n, Nim, status;
-  FILE *f;
-  double Xc[5], Yc[5], Xi[5], Yi[5], r, d;
-  Coords *tcoords;
-
-  /* we make positional comparisons in the projection of catalog */
-  tcoords = &catstats[0].coords;
-  /* define catalog corners */
-  Xc[0] = catstats[0].RA[0]; Yc[0] = catstats[0].DEC[0];
-  Xc[1] = catstats[0].RA[1]; Yc[1] = catstats[0].DEC[0];
-  Xc[2] = catstats[0].RA[1]; Yc[2] = catstats[0].DEC[1];
-  Xc[3] = catstats[0].RA[0]; Yc[3] = catstats[0].DEC[1];
-  Xc[4] = catstats[0].RA[0]; Yc[4] = catstats[0].DEC[0];
-  for (j = 0; j < 5; j++) {
-    r = Xc[j]; d = Yc[j];
-    RD_to_XY (&Xc[j], &Yc[j], r, d, tcoords);
-  }
-
-  /* check if image datafile exists, get header, number of images */
-  if (!fits_read_header (ImageCat, &header)) {
-    fprintf (stderr, "ERROR: No images in catalog %s (1)\n", ImageCat);
-    clear_lockfile ();
-    exit (0);
-  }
-  Nimage = 0;
-  fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
-  if (Nimage == 0) {
-    fprintf (stderr, "ERROR: No images in catalog %s (1)\n", ImageCat);
-    clear_lockfile ();
-    exit (0);
-  }
-
-  /* get ready to read data on images */ 
-  f = fopen (ImageCat, "r");
-  if (f == (FILE *) NULL) {
-    fprintf (stderr, "ERROR: trouble opening Image catalog: %s (2)\n", ImageCat);
-    clear_lockfile ();
-    exit (0);
-  }
-  fseek (f, header.size, SEEK_SET); 
-
-  /* set up buffers for images, temporary storage */
-  NTIMAGE = 100;
-  ALLOCATE (timage, Image, NTIMAGE);
-  NIMAGE = 100;
-  ALLOCATE (image, Image, NIMAGE);
-  nimage = 0;
-  Nloop = Nimage / NTIMAGE + 1;
-  Nlast = Nimage % NTIMAGE;
-  
-  /* read in images in groups of NTIMAGE (100) */
-  for (n = 0; n < Nloop; n++) {
-    Nim = (n == Nloop - 1) ? Nlast : NTIMAGE;
-    status = Fread (timage, sizeof(Image), Nim, f, "image");
-    if (status != Nim) {
-      fprintf (stderr, "ERROR: couldn't read images from image catalog: %s\n", ImageCat);
-      clear_lockfile ();
-      exit (0);
-    }
-    /* test each image in block */
-    for (i = 0; i < Nim; i++) {
-      /* define image corners */
-      Xi[0] = 0;            Yi[0] = 0;
-      Xi[1] = timage[i].NX; Yi[1] = 0;
-      Xi[2] = timage[i].NX; Yi[2] = timage[i].NY;
-      Xi[3] = 0;            Yi[3] = timage[i].NY;
-      Xi[4] = 0.5*timage[i].NX; Yi[4] = 0.5*timage[i].NY;
-      found = FALSE;
-      /* transform to tcoords */
-      for (j = 0; j < 5; j++) {
-	XY_to_RD (&r, &d, Xi[j], Yi[j], &timage[i].coords);
-	RD_to_XY (&Xi[j], &Yi[j], r, d, tcoords);
-      }
-      /* check if edges cross */
-      for (j = 0; (j < 4) && !found; j++) {
-	for (k = 0; (k < 4) && !found; k++) {
-	  found |= edge_check (&Xi[j], &Yi[j], &Xc[k], &Yc[k]);
-	}
-      }
-      if (found) {
-	image[nimage] = timage[i]; 
-	image[nimage].code = 0;
-	nimage ++;
-	if (nimage == NIMAGE) {
-	  NIMAGE += 100;
-	  REALLOCATE (image, Image, NIMAGE);
-	}
-      }
-    }
-  }
-      
-  if (VERBOSE) { 
-    for (i = 0; i < nimage; i++) {
-      XY_to_RD (&r, &d, 0.5*image[i].NX, 0.5*image[i].NY, &image[i].coords);
-      fprintf (stderr, "associated images: %d %8.4f %8.4f %10d %6d  %5.3f %6.3f %6.3f\n", 
-	       i, r, d, image[i].tzero, image[i].nstar, 0.001*image[i].secz, 
-	       0.001*image[i].Mcal, 0.001*image[i].dMcal);
-    }
-  }
-
-  REALLOCATE (image, Image, MAX (nimage, 1));
-  free (timage);
-  *Nimages = nimage;
-  fclose (f);
-  return (image);
-}
-
-int edge_check (x1, y1, x2, y2)
-double *x1, *y1, *x2, *y2;
-{
-
-  double theta1, theta2;
-  double Theta1, Theta2;
-
-  theta1 = opening_angle (x1[0], y1[0], x2[0], y2[0], x1[1], y1[1]); 
-  theta2 = opening_angle (x1[0], y1[0], x2[0], y2[0], x2[1], y2[1]); 
-
-  if (theta1*theta2 < 0.0) {
-    return (FALSE);
-  }
-
-  if (fabs(theta1) < fabs(theta2)) {
-    return (FALSE);
-  }
-
-  Theta1 = theta1;
-  Theta2 = theta2;
-  theta1 = opening_angle (x2[0], y2[0], x1[1], y1[1], x2[1], y2[1]); 
-  theta2 = opening_angle (x2[0], y2[0], x1[1], y1[1], x1[0], y1[0]); 
-  
- 
-  if (theta1*theta2 < 0.0) {
-    return (FALSE);
-  }
-
-  if (fabs(theta1) < fabs(theta2)) {
-    return (FALSE);
-  }
-
-  return (TRUE);
-
-}
-
-double opening_angle (x1, y1, x2, y2, x3, y3)
-double x1, y1, x2, y2, x3, y3;
-{
-
-  double dx1, dy1, dx2, dy2, ct, st, theta;
-
-  dx1 = x1 - x2;
-  dy1 = y1 - y2;
-  
-  dx2 = x3 - x2;
-  dy2 = y3 - y2;
-  
-  ct = (dx1*dx2 + dy1*dy2);
-  st = (dx1*dy2 - dx2*dy1);
-
-  theta = atan2 (st, ct);
-
-  return (theta);
-
-}
-
Index: unk/Ohana/src/markrock/src/old/find_line.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/find_line.c	(revision 4809)
+++ 	(revision )
@@ -1,161 +1,0 @@
-# include "markstar.h"
-
-find_line (catstats, mark, Npts, i, M, B, Angle)
-     CatStats catstats[];
-     double *M, *B, Angle;
-     int i, Npts;
-     char *mark;
-{
-  
-  float *R, *D;
-  int j, N;
-  double X, Y, X2, Y2, XY, m, b, det;
-  double dR, dD, Ra, De, angle;
-  char Flipped;
-  
-  R = catstats[0].X;
-  D = catstats[0].Y;
-
-  /* fit a line to points near line */
-  Ra = R[i];
-  De = D[i];
-  X = Ra;
-  Y = De;
-  X2 = Ra*Ra;
-  Y2 = De*De;
-  XY = Ra*De;
-  N = 1;
-  /* points to the east */
-  for (j = i + 1; (j < Npts) && (R[j] - Ra < RADIUS); j++) {
-    dD = D[j] - De;
-    if (fabs(dD) < RADIUS) {
-      dR = R[j] - Ra;
-      angle = atan2 (dD,dR);
-      if (!finite(angle)) continue;
-      if (angle < 0) angle += M_PI;
-      if (fabs(angle - Angle) < RAD_DEG) {
-	X += R[j];
-	Y += D[j];
-	X2 += R[j]*R[j];
-	Y2 += D[j]*D[j];
-	N ++;
-	XY += R[j]*D[j];
-      }
-    }
-  }
-  /* points to the west */
-  for (j = i - 1; !mark[i] && (j >= 0) && (Ra - R[j] < RADIUS); j--) {
-    if (mark[j]) continue;
-    dD = D[j] - De;
-    if (fabs(dD) < RADIUS) {
-      dR = R[j] - Ra;
-      angle = atan2 (dD,dR);
-      if (!finite(angle)) continue;
-      if (angle < 0) angle += M_PI;
-      if (fabs(angle - Angle) < RAD_DEG) {
-	X += R[j];
-	Y += D[j];
-	X2 += R[j]*R[j];
-	Y2 += D[j]*D[j];
-	N ++;
-	XY += R[j]*D[j];
-      }
-    }
-  }
-  /* determine coeffs */
-  Flipped = 0;
-  det = 1.0 / (X2*N - X*X);
-  m = det * (XY*N - X*Y);
-  b = det * (X2*Y - XY*X);
-  if (fabs(m) > 1.1) { /* use a line of R = m*D + b instead */
-    /* fprintf (stderr, "high slope object: %f %f  -> ", m, b); */
-    det = 1.0 / (Y2*N - Y*Y);
-    m = det * (XY*N - X*Y);
-    b = det * (Y2*X - XY*Y);
-    Flipped = 1;
-    /* fprintf (stderr, "%f %f\n", m, b); */
-  }
-
-  *M = m;
-  *B = b;
-  return (Flipped);
-
-}
-
-
-find_better_line (catstats, mark, Npts, i, M, B, axis)
-     CatStats catstats[];
-     double *M, *B;
-     int i, Npts, axis;
-     char *mark;
-{
-  
-  float *R, *D;
-  int j, N;
-  double X, Y, X2, Y2, XY, m, b, det;
-  double dR, dD, Ra, De, delta;
-  
-  R = catstats[0].X;
-  D = catstats[0].Y;
-
-  /* fit a line to points near line */
-  Ra = R[i];
-  De = D[i];
-  X = Y = X2 = Y2 = XY = N = 0;
-  m = *M;  b = *B;
-
-  /* points to the east */
-  for (j = i; (j < Npts) && (R[j] - Ra < RADIUS); j++) {
-    dD = D[j] - De;
-    if (fabs(dD) < RADIUS) {
-      dR = R[j] - Ra;
-      if (axis == 1) 
-	delta = R[j] - m*D[j] - b;
-      else
-	delta = D[j] - m*R[j] - b;
-      if (fabs(delta) < 2*TRAIL_WIDTH) {
-	X += R[j];
-	Y += D[j];
-	X2 += R[j]*R[j];
-	Y2 += D[j]*D[j];
-	N ++;
-	XY += R[j]*D[j];
-      }
-    }
-  }
-  /* points to the west */
-  for (j = i - 1; (j >= 0) && (Ra - R[j] < RADIUS); j--) {
-    dD = D[j] - De;
-    if (fabs(dD) < RADIUS) {
-      dR = R[j] - Ra;
-      if (axis == 1) 
-	delta = R[j] - m*D[j] - b;
-      else
-	delta = D[j] - m*R[j] - b;
-      if (fabs(delta) < 2*TRAIL_WIDTH) {
-	X += R[j];
-	Y += D[j];
-	X2 += R[j]*R[j];
-	Y2 += D[j]*D[j];
-	N ++;
-	XY += R[j]*D[j];
-      }
-    }
-  }
-  /* determine coeffs */
-  if (axis == 0) {
-    det = 1.0 / (X2*N - X*X);
-    m = det * (XY*N - X*Y);
-    b = det * (X2*Y - XY*X);
-  } else {
-    det = 1.0 / (Y2*N - Y*Y);
-    m = det * (XY*N - X*Y);
-    b = det * (Y2*X - XY*Y);
-  }
-
-  /* fprintf (stderr, "%f %f %d\n", m, b, N); */
-
-  *M = m;
-  *B = b;
-
-}
Index: unk/Ohana/src/markrock/src/old/find_matches.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/find_matches.c	(revision 4809)
+++ 	(revision )
@@ -1,87 +1,0 @@
-# include "markstar.h"
-
-find_matches (catalog, catstats, Ghostdata, Nimage)
-CatStats catstats[];
-Catalog catalog[], Ghostdata[];
-int Nimage;
-{
-
-  int i, j, k, n, m, N, M, first_j;
-  double X, Y, RADIUS, RADIUS2;
-  float *X1, *Y1, *X2, *Y2;
-  float dX, dY, dR;
-  int *N1, *N2;
-  int Nstar, Nghost, Ng;
-  unsigned int flags;
-  Coords *tcoords;
-
-  Nstar = catalog[0].Naverage;
-  Nghost = Ghostdata[0].Naverage;
-
-  if (Nghost < 1) return (0);
-
-  /* it is better to have the catalog with fewer stars
-     assigned to the X1 set */
-  X2 = catstats[0].X;
-  Y2 = catstats[0].Y;
-  N2 = catstats[0].N;
-
-  ALLOCATE (X1, float, Nghost);
-  ALLOCATE (Y1, float, Nghost);
-  ALLOCATE (N1, int, Nghost);
-
-  /* project ghosts to the frame of the catalog */
-  tcoords = &catstats[0].coords;
-  for (i = 0; i < Nghost; i++) {
-    fRD_to_XY (&X1[i], &Y1[i], Ghostdata[0].average[i].R, Ghostdata[0].average[i].D, tcoords);
-    N1[i] = i;
-  }
-  if (Nghost > 1) sort_lists (X1, Y1, N1, Nghost);
-
-  /* choose a radius for matches */
-  RADIUS2 = GHOST_RADIUS*GHOST_RADIUS;
-
-  /** find matched stars **/
-  for (i = j = 0; (i < Nghost) && (j < Nstar); ) {
-    dX = X1[i] - X2[j];
-    if (dX <= -2*GHOST_RADIUS) {
-      i++;
-      continue;
-    }
-    if (dX >= 2*GHOST_RADIUS) {
-      j++;
-      continue;
-    }
-    /* negative dX: j is too large, positive dX, i is too large */
-    first_j = j;
-    for (; (dX > -2*GHOST_RADIUS) && (j < Nstar); j++) {
-      dX = X1[i] - X2[j];
-      dY = Y1[i] - Y2[j];
-      dR = dX*dX + dY*dY;
-      if (dR < RADIUS2) {  
-	/* this object may be a ghost star, 
-	   but only mark those measurements on the correct image */
-	M = N2[j];
-	m = catalog[0].average[M].offset;
-	Ng = 0;
-	for (k = 0; k < catalog[0].average[M].Nm; k++) {
-	  if (catalog[0].image[m+k] == Nimage) {
-	    catalog[0].measure[m+k].average |= GHOST_DATA;
-	    Ng ++;
-	  }
-	}
-	/* all measurements are ghosts */
-	if (catalog[0].average[M].Nm == Ng) {
-	  catalog[0].average[M].code = ID_GHOST;
-	}
-      }
-    }
-    j = first_j;
-    i++;
-  }
-
-  free (X1);
-  free (Y1);
-  free (N1);
-
-}
Index: unk/Ohana/src/markrock/src/old/find_trails.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/find_trails.c	(revision 4809)
+++ 	(revision )
@@ -1,41 +1,0 @@
-# include "markstar.h"
-
-find_trails (catalog, catstats)
-Catalog catalog[];
-CatStats catstats[];
-{
-
-  int i, j, N, Nave, axis, marked;
-  double density, spacing, Area, Angle, m, b, RaCenter, DecCenter;
-  double MinRA, MaxRA, MinDEC, MaxDEC;
-  float *X1, *Y1;
-  char *mark;
-  int *N1;
-  Coords tcoords;
-  
-  Nave = catalog[0].Naverage;
-  N1 = catstats[0].N;
-
-  ALLOCATE (mark, char, Nave);
-  bzero (mark, Nave);
-
-  for (i = 0; i < Nave; i++) {
-    /* already marked, ignore */
-    if ((mark[i]) || 
-	(catalog[0].average[N1[i]].code == ID_BLEED) || 
-	(catalog[0].average[N1[i]].code == ID_GHOST))
-      continue;
-    /* a good star, ignore */
-    if ((catalog[0].average[N1[i]].Nm > 3) && 
-	(catalog[0].average[N1[i]].Nm > 4*catalog[0].average[N1[i]].Nn)) {
-      continue;
-    }
-    if (find_group (catstats, mark, Nave, i, &Angle)) {
-      /* this point has an excess nearby concentration, find the line */
-      axis = find_line (catstats, mark, Nave, i, &m, &b, Angle);
-      find_better_line (catstats, mark, Nave, i, &m, &b, axis);
-      mark_trail (catstats, mark, Nave, i, m, b, axis, catalog);
-    }
-  }
-}
-
Index: unk/Ohana/src/markrock/src/old/gimages.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/gimages.c	(revision 4809)
+++ 	(revision )
@@ -1,214 +1,0 @@
-# include "addstar.h"
-double opening_angle ();
-
-Image *gimages (image, Npimage)
-Image image[];
-int *Npimage;
-{
-  
-  int i, j, k, NIMAGE, Nimage, addtolist;
-  int NTIMAGE, Ntimage, ntimage;
-  int NPIMAGE, npimage;
-  FILE *f;
-  Image *timage, *pimage;
-  Coords tcoords;
-  Header header;
-  double r, d;
-  double Xi[5], Yi[5], Xo[5], Yo[5];  /* image and original corners */
-
-  /* check if image datafile exists, get header */
-  if (!fits_read_header (ImageCat, &header)) {
-    if (VERBOSE) fprintf (stderr, "New image catalog %s (1)\n", ImageCat);
-    *Npimage = 0;
-    return ((Image *) NULL);
-  }
-
-  /* project onto rectilinear grid with 1 arcsec pixels */
-  /* we keep the original crpix1,2 and crref1,2 */
-  tcoords = image[0].coords;
-  tcoords.cdelt1 = tcoords.cdelt2 = 1.0 / 3600.0;
-  tcoords.pc1_1 = tcoords.pc2_2 = 1.0;
-  tcoords.pc1_2 = tcoords.pc2_1 = 0.0;
-  strcpy (tcoords.ctype, "RA---TAN");
-
-  /* define original corners */
-  Xo[0] = 0;           Yo[0] = 0;
-  Xo[1] = image[0].NX; Yo[1] = 0;
-  Xo[2] = image[0].NX; Yo[2] = image[0].NY;
-  Xo[3] = 0;           Yo[3] = image[0].NY;
-  Xo[4] = 0;           Yo[4] = 0;  /* so we can make a loop easily */
-  for (j = 0; j < 5; j++) {
-    XY_to_RD (&r, &d, Xo[j], Yo[j], &image[0].coords);
-    RD_to_XY (&Xo[j], &Yo[j], r, d, &tcoords);
-  }
-  
-  /* get ready to read data on images */ 
-  f = fopen (ImageCat, "r");
-  if (f == (FILE *) NULL) {
-    fprintf (stderr, "New image catalog: %s (2)\n", ImageCat);
-    free (header.buffer);
-    *Npimage = 0;
-    return ((Image *) NULL);
-  }
-  fseek (f, header.size, SEEK_SET); 
-
-  Nimage = 0;
-  fits_scan (&header, "NIMAGES", "%d", 1, &Nimage);
-
-  NTIMAGE = 100;
-  ALLOCATE (timage, Image, NTIMAGE);
-
-  npimage = 0;
-  NPIMAGE = 20;
-  ALLOCATE (pimage, Image, NPIMAGE);
-
-  for (Ntimage = 0; Ntimage < Nimage; Ntimage += ntimage) {
-    ntimage = Fread (timage, sizeof(Image), NTIMAGE, f, "image");
-    for (i = 0; i < ntimage; i++) {
-      addtolist = FALSE;
-      /* define image corners */
-      Xi[0] = 0;            Yi[0] = 0;
-      Xi[1] = timage[i].NX; Yi[1] = 0;
-      Xi[2] = timage[i].NX; Yi[2] = timage[i].NY;
-      Xi[3] = 0;            Yi[3] = timage[i].NY;
-      Xi[4] = 0;            Yi[4] = 0;  /* so we can make a loop easily */
-      /* transform to tcoords */
-      for (j = 0; j < 5; j++) {
-	XY_to_RD (&r, &d, Xi[j], Yi[j], &timage[i].coords);
-	RD_to_XY (&Xi[j], &Yi[j], r, d, &tcoords);
-      }
-      /* check if any edges cross */
-      for (j = 0; j < 4; j++) {
-	for (k = 0; k < 4; k++) {
-	  addtolist |= edge_check (&Xi[j], &Yi[j], &Xo[k], &Yo[k]);
-	}
-      }
-      
-      /*
-      fprintf (stderr, "%f %f %f %d %f %f %d %d %d %f %f %s: %d\n", 0.1*timage[i].detection_limit, 0.1*timage[i].saturation_limit, 0.02*timage[i].cerror, 
-	       timage[i].tzero, 1e-4*timage[i].trate, 
-	       0.001*timage[i].secz, timage[i].nstar, timage[i].NX, timage[i].NY, 0.001*timage[i].Mcal, 0.1*timage[i].Xm, timage[i].name, addtolist);
-      
-      fprintf (stderr, "%s\n", timage[i].coords.ctype);
-      fprintf (stderr, "%f %f\n", timage[i].coords.crval1, timage[i].coords.crval2);
-      fprintf (stderr, "%f %f\n", timage[i].coords.crpix1, timage[i].coords.crpix2);
-      fprintf (stderr, "%f %f\n", timage[i].coords.pc1_1, timage[i].coords.pc1_2);
-      fprintf (stderr, "%f %f\n", timage[i].coords.pc2_1, timage[i].coords.pc2_2);
-      fprintf (stderr, "%f %f\n", timage[i].coords.cdelt1, timage[i].coords.cdelt2);      
-      */
-
-      if (addtolist) {
-	pimage[npimage] = timage[i];
-	npimage ++;
-	if (npimage == NPIMAGE) {
-	  NPIMAGE += 20;
-	  REALLOCATE (pimage, Image, NPIMAGE);
-	}
-      }
-    }
-
-    if (ntimage == 0) {
-      fprintf (stderr, "ERROR: expected %d images, only found %d\n", Nimage, Ntimage);
-      clear_lockfile ();
-      exit (0);
-    }
-  }
-
-  if (VERBOSE) fprintf (stderr, "found %d overlapping images\n", npimage);
-
-  fclose (f);
-  *Npimage = npimage;
-  return (pimage);
-
-}
-  
-int edge_check (x1, y1, x2, y2)
-double *x1, *y1, *x2, *y2;
-{
-
-  double theta1, theta2;
-  double Theta1, Theta2;
-
-  theta1 = opening_angle (x1[0], y1[0], x2[0], y2[0], x1[1], y1[1]); 
-  theta2 = opening_angle (x1[0], y1[0], x2[0], y2[0], x2[1], y2[1]); 
-
-  if (theta1*theta2 < 0.0) {
-    return (FALSE);
-  }
-
-  if (fabs(theta1) < fabs(theta2)) {
-    return (FALSE);
-  }
-
-  Theta1 = theta1;
-  Theta2 = theta2;
-  theta1 = opening_angle (x2[0], y2[0], x1[1], y1[1], x2[1], y2[1]); 
-  theta2 = opening_angle (x2[0], y2[0], x1[1], y1[1], x1[0], y1[0]); 
-  
- 
-  if (theta1*theta2 < 0.0) {
-    return (FALSE);
-  }
-
-  if (fabs(theta1) < fabs(theta2)) {
-    return (FALSE);
-  }
-
-  return (TRUE);
-
-}
-
-double opening_angle (x1, y1, x2, y2, x3, y3)
-double x1, y1, x2, y2, x3, y3;
-{
-
-  double dx1, dy1, dx2, dy2, ct, st, theta;
-
-  dx1 = x1 - x2;
-  dy1 = y1 - y2;
-  
-  dx2 = x3 - x2;
-  dy2 = y3 - y2;
-  
-  ct = (dx1*dx2 + dy1*dy2);
-  st = (dx1*dy2 - dx2*dy1);
-
-  theta = atan2 (st, ct);
-
-  return (theta);
-
-}
-
-
-
-
-/* probably not needed now 
-char *_parse_nextword();
-
-
-int fparse (X, NX, line)
-float *X;
-int NX;
-char *line;
-{
-
-  int i;
-  char *word;
-  char *ptr;
-
-  word = line;
-  for (i = 0; i < NX - 1; i++)
-    word = _parse_nextword (word);
-
-  *X = strtod (word, &ptr);
-  if (ptr == word)
-    return (FALSE);
-  else {
-    if (word[0] == '-') 
-      return (-1);
-    else
-      return (1);
-  }
-}
-
-*/
Index: unk/Ohana/src/markrock/src/old/gregions.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/gregions.c	(revision 4809)
+++ 	(revision )
@@ -1,135 +1,0 @@
-# include "markstar.h"
-
-GSCRegion *gregions1 (catstats, Nregions)
-CatStats catstats[];
-int *Nregions;
-{
-  
-  GSCRegion *region;
-  int i, j, k, x, y, done, nregion, nregion2, NREGION;
-  double ra, dec, dx, dy, Xo[4], Yo[4];
-  FILE *f;
-
-  f = fopen (GSCFILE, "r");
-  if (f == NULL) {
-    fprintf (stderr, "ERROR: could not open GSC region file %s\n", GSCFILE);
-    exit (0);
-  }
-  nregion = 0;
-  NREGION = 10;
-  ALLOCATE (region, GSCRegion, NREGION);
-
-  if (catstats[0].DEC[0] == 86.25) { /* pole region */
-    dec = 86.0;
-    for (ra = 0.1; ra < 370; ra+= 30.0) {
-      aregion (&region[nregion], f, ra, dec);
-      done = FALSE;
-      for (j = 0; (j < nregion - 1) && !done; j++) {
-	if (!strcmp (region[nregion].filename, region[j].filename)) {
-	  nregion --;
-	  done = TRUE;
-	}
-      }
-      nregion ++;
-      if (nregion == NREGION) {
-	NREGION += 10;
-	REALLOCATE (region, GSCRegion, NREGION);
-      }
-    }
-  } else {
-    for (x = 0; x < 2; x++) {
-      for (y = 0; y < 2; y++) {
-	for (dx = -0.1; dx <= 0.1; dx += 0.2) {
-	  for (dy = -0.1; dy <= 0.1; dy += 0.2) {
-	    ra  = catstats[0].RA[x] + dx;
-	    dec = catstats[0].DEC[y] + dy;
-	    aregion (&region[nregion], f, ra, dec);
-	    done = FALSE;
-	    for (j = 0; (j < nregion) && !done; j++) {
-	      if (!strcmp (region[nregion].filename, region[j].filename)) {
-		done = TRUE;
-	      }
-	    }
-	    if (!done) {
-	      nregion ++;
-	    } 
-	    if (nregion == NREGION) {
-	      NREGION += 10;
-	      REALLOCATE (region, GSCRegion, NREGION);
-	    }
-	  }
-	}
-      }
-    }
-  }
-
-  if (VERBOSE) {
-    fprintf (stderr, "using %d regions\n", nregion);
-    for (i = 0; i < nregion; i++) {
-      fprintf (stderr, "region %d: %f %f  %f %f\n", i, region[i].RA[0], region[i].RA[1], region[i].DEC[0], region[i].DEC[1]);
-    } 
-  }
-
-  REALLOCATE (region, GSCRegion, MAX (nregion, 1));
-  *Nregions = nregion;
-  
-  fclose (f);
-  return (region);
-  
-}
-
-GSCRegion *gregions2 (image, Nregions)
-Image *image;
-int *Nregions;
-{
-  
-  GSCRegion *region;
-  FILE *f;
-  double x, y;
-  double dr, dd, dec, ra;
-  int i, j, done, nregion, NREGION;
-  
-  f = fopen (GSCFILE, "r");
-  if (f == NULL) {
-    fprintf (stderr, "ERROR: can't find GSC region file %s\n", GSCFILE);
-    clear_lockfile ();
-    exit (0);
-  }
-  
-  /* find regions at image corners */
-  NREGION = 10;
-  ALLOCATE (region, GSCRegion, NREGION);
-  nregion = 0;
-
-  /* look for new regions on grid across image */ 
-  for (x = 0.0; x <= 1.0; x+=0.25) {
-    for (y = 0.0; y <= 1.0; y+=0.25) {
-      XY_to_RD (&ra, &dec, image[0].NX*(1.1*x - 0.05), image[0].NY*(1.1*y - 0.05), &image[0].coords);
-      aregion (&region[nregion], f, ra, dec);
-      done = FALSE;
-      for (j = 0; (j < nregion) && !done; j++) {
-	if (!strcmp (region[nregion].filename, region[j].filename)) {
-	  nregion --;
-	  done = TRUE;
-	}
-      }
-      nregion ++;
-      if (nregion == NREGION) {
-	NREGION += 10;
-	REALLOCATE (region, GSCRegion, NREGION);
-      }
-    }
-  }
-
-  if (VERBOSE) {
-    fprintf (stderr, "found %d region files:\n", nregion);
-    for (i = 0; i < nregion; i++) {
-      fprintf (stderr, "  %d %s\n", i, region[i].filename);
-    }
-  }
-  *Nregions = nregion;
-  
-  fclose (f);
-  return (region);
-  
-}
Index: unk/Ohana/src/markrock/src/old/gstars.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/gstars.c	(revision 4809)
+++ 	(revision )
@@ -1,186 +1,0 @@
-# include "addstar.h"
-# define D_NSTARS 1000
-# define BYTES_STAR 31
-# define BLOCK 1000
-#include <sys/time.h>
-#include <time.h>
-
-Stars *gstars (file, NSTARS, image) 
-char file[];
-int *NSTARS;
-Image *image;
-{
-
-  FILE *f;
-  Header header;
-  int i, j, nstar;
-  int nbytes, Nbytes;
-  Stars *stars;
-  char *buffer, line[64], *c;
-  struct tm timeptr;
-  double tmp;
-
-  if (!fits_read_header (file, &header)) {
-    fprintf (stderr, "ERROR: can't find image file %s\n", file);
-    clear_lockfile ();
-    exit(0);
-  }
-
-  /* open file */
-  f = fopen (file, "r");
-  if (f == NULL) {
-    fprintf (stderr, "ERROR: can't find data file %s\n", file);
-    clear_lockfile ();
-    exit(0);
-  }
-  fseek (f, header.size, SEEK_SET); 
-
-  c = strrchr (file, 0x2f);
-  if (c == (char *) NULL) {
-    strcpy (image[0].name, file);
-  } else { 
-    strcpy (image[0].name, (c+1));
-  }
-  /* get astrometry information */
-  strcpy (image[0].coords.ctype, "NONE");
-  fits_scan (&header, "CTYPE1",   "%s",  1, image[0].coords.ctype);
-  if (strcmp (image[0].coords.ctype, "RA---PLY")) {
-    fprintf (stderr, "ERROR: wrong astrometric info in header\n");
-    clear_lockfile ();
-    exit (0);
-  }
-  fits_scan (&header, "CDELT1",   "%f", 1, &image[0].coords.cdelt1); 
-  fits_scan (&header, "CDELT2",   "%f", 1, &image[0].coords.cdelt2);
-  fits_scan (&header, "CRVAL1",   "%lf", 1, &image[0].coords.crval1);
-  fits_scan (&header, "CRVAL2",   "%lf", 1, &image[0].coords.crval2);  
-  fits_scan (&header, "CRPIX1",   "%f", 1, &image[0].coords.crpix1);
-  fits_scan (&header, "CRPIX2",   "%f", 1, &image[0].coords.crpix2);
-  fits_scan (&header, "PC001001", "%f", 1, &image[0].coords.pc1_1);
-  fits_scan (&header, "PC001002", "%f", 1, &image[0].coords.pc1_2);
-  fits_scan (&header, "PC002001", "%f", 1, &image[0].coords.pc2_1);
-  fits_scan (&header, "PC002002", "%f", 1, &image[0].coords.pc2_2);
-  fits_scan (&header, "CERROR",   "%lf", 1, &tmp);
-  /* RA Terms */
-  fits_scan (&header, "PCA1X2Y0", "%f", 1, &image[0].coords.polyterms[0][0]);
-  fits_scan (&header, "PCA1X1Y1", "%f", 1, &image[0].coords.polyterms[1][0]);
-  fits_scan (&header, "PCA1X0Y2", "%f", 1, &image[0].coords.polyterms[2][0]);
-  fits_scan (&header, "PCA1X3Y0", "%f", 1, &image[0].coords.polyterms[3][0]);
-  fits_scan (&header, "PCA1X2Y1", "%f", 1, &image[0].coords.polyterms[4][0]);
-  fits_scan (&header, "PCA1X1Y2", "%f", 1, &image[0].coords.polyterms[5][0]);
-  fits_scan (&header, "PCA1X0Y3", "%f", 1, &image[0].coords.polyterms[6][0]);
-  /* Dec Terms */
-  fits_scan (&header, "PCA2X2Y0", "%f", 1, &image[0].coords.polyterms[0][1]);
-  fits_scan (&header, "PCA2X1Y1", "%f", 1, &image[0].coords.polyterms[1][1]);
-  fits_scan (&header, "PCA2X0Y2", "%f", 1, &image[0].coords.polyterms[2][1]);
-  fits_scan (&header, "PCA2X3Y0", "%f", 1, &image[0].coords.polyterms[3][1]);
-  fits_scan (&header, "PCA2X2Y1", "%f", 1, &image[0].coords.polyterms[4][1]);
-  fits_scan (&header, "PCA2X1Y2", "%f", 1, &image[0].coords.polyterms[5][1]);
-  fits_scan (&header, "PCA2X0Y3", "%f", 1, &image[0].coords.polyterms[6][1]);
-  image[0].coords.Npolyterms = 2; /* how many do we use? */
-  /* CERROR in data file is in pixels, convert to 20*arcsec */
-  image[0].cerror = tmp * 50.0 * image[0].coords.cdelt1 * 3600.0;
-  while (image[0].coords.crval1 < 0) image[0].coords.crval1 += 360.0;
-  while (image[0].coords.crval1 > 360.0) image[0].coords.crval1 -= 360.0;
- 
-  fits_scan (&header, "NAXIS1",   "%hd", 1, &image[0].NX); 
-  fits_scan (&header, "NAXIS2",   "%hd", 1, &image[0].NY);
-  fits_scan (&header, "PHOTCODE", "%hd", 1, &image[0].source);
-  image[0].NX -= XOVERSCAN;
-  image[0].NY -= YOVERSCAN;
-
-  tmp = 0;
-  fits_scan (&header, "FLIMIT",   "%lf", 1, &tmp);
-  image[0].detection_limit = tmp * 10.0;
-
-  tmp = 0;
-  fits_scan (&header, "FSATUR",   "%lf", 1, &tmp);
-  image[0].saturation_limit = tmp * 10.0;
-
-  if (!fits_scan (&header, "TZERO",   "%d",  1, &image[0].tzero)) {
-    fits_scan (&header, "UT",   "%s",  1, line);
-    /* remove : characters */
-    for (c = strchr (line, 0x3a); c != (char *) NULL; c = strchr (c, 0x3a))
-      *c = ' ';
-    sscanf (line, "%d %d %d", &timeptr.tm_hour, &timeptr.tm_min, &timeptr.tm_sec);
-    fits_scan (&header, "DATE-UT",   "%s",  1, line);
-    for (c = strchr (line, 0x2f); c != (char *) NULL; c = strchr (c, 0x2f))
-      *c = ' ';
-    sscanf (line, "%d %d %d", &timeptr.tm_year, &timeptr.tm_mon, &timeptr.tm_mday);
-    if (timeptr.tm_year < 90) { /* correct for year 2000 turnover */
-      timeptr.tm_year += 100;
-    }
-    image[0].tzero = mktime (&timeptr);
-  }
-
-  tmp = 0;
-  fits_scan (&header, "TRATE",   "%lf", 1, &tmp);
-  image[0].trate = 10000 * tmp;
-
-  tmp = 0;
-  fits_scan (&header, "AIRMASS", "%lf", 1, &tmp);
-  image[0].secz = 1000*tmp;
-
-  /* secz is in units milli-airmass */
-  image[0].Mcal =  ALPHA*(image[0].secz - 1000);
-  image[0].Xm   = 30.0;
-  image[0].code = 0;
-  bzero (image[0].dummy, sizeof(image[0].dummy));
-
-  /* find number of stars */
-  fits_scan (&header, "NSTARS", "%d", 1, &image[0].nstar);
-  if (image[0].nstar == 0) {
-    fprintf (stderr, "ERROR: can't get NSTARS from header\n");
-    clear_lockfile ();
-    exit (0);
-  }
-  ALLOCATE (stars, Stars, image[0].nstar);
-  Nbytes = image[0].nstar*BYTES_STAR;
-
-  /* load in stars by blocks of 1000 */
-  nstar = 0;
-  ALLOCATE (buffer, char, (BLOCK*BYTES_STAR));
-  for (i = 0; i < (int)(Nbytes / (BLOCK*BYTES_STAR)); i++) {
-    nbytes = Fread (buffer, 1, (BLOCK*BYTES_STAR), f, "char");
-    if (nbytes != BLOCK*BYTES_STAR) {
-      fprintf (stderr, "ERROR: failed to read in stars (1)\n");
-      clear_lockfile ();
-      exit (0);
-    }
-    for (j = 0; j < BLOCK; j++, nstar++) {
-      dparse (&stars[nstar].X,  1, &buffer[j*BYTES_STAR]);
-      dparse (&stars[nstar].Y,  2, &buffer[j*BYTES_STAR]);
-      dparse (&stars[nstar].M,  3, &buffer[j*BYTES_STAR]);
-      dparse (&stars[nstar].dM, 4, &buffer[j*BYTES_STAR]);
-      XY_to_RD (&stars[nstar].R, &stars[nstar].D, stars[nstar].X, stars[nstar].Y, &image[0].coords);
-      stars[nstar].found = -1;
-    }
-  }
-  /* left over fraction of a block */
-  nbytes = Fread (buffer, 1, (Nbytes % (BLOCK*BYTES_STAR)), f, "char");
-  if (nbytes != (Nbytes % (BLOCK*BYTES_STAR))) {
-    fprintf (stderr, "ERROR: failed to read in stars (2)\n");
-    clear_lockfile ();
-    exit (0);
-  }
-  for (j = 0; j < nbytes / BYTES_STAR; j++, nstar++) {
-    dparse (&stars[nstar].X, 1, &buffer[j*BYTES_STAR]);
-    dparse (&stars[nstar].Y, 2, &buffer[j*BYTES_STAR]);
-    dparse (&stars[nstar].M, 3, &buffer[j*BYTES_STAR]);
-    dparse (&stars[nstar].dM, 4, &buffer[j*BYTES_STAR]);
-    XY_to_RD (&stars[nstar].R, &stars[nstar].D, stars[nstar].X, stars[nstar].Y, &image[0].coords);
-    stars[nstar].found = -1;
-  }
-
-  if (image[0].nstar != nstar) {
-    fprintf (stderr, "ERROR: failed to read in all stars (%d != %d)\n", image[0].nstar, nstar);
-    clear_lockfile ();
-    exit (0);
-  }
-  free (header.buffer);
-  free (buffer);
- 
-  if (VERBOSE) fprintf (stderr, "read %d stars from target file\n", image[0].nstar);
-  *NSTARS = image[0].nstar;
-
-  return (stars);
-}
Index: unk/Ohana/src/markrock/src/old/load_gsc_data.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/load_gsc_data.c	(revision 4809)
+++ 	(revision )
@@ -1,62 +1,0 @@
-# include "markstar.h"
-# define NBYTES 160000
-# define BYTES_STAR 23
-# define BLOCK 1000
-# define DNSTARS 1000
-
-load_gsc_data (catalog, catstats)
-Catalog catalog[];
-CatStats catstats[];
-{
-
-  /* load data from the GSC files */
-  char filename[128];
-  char *tbuffer;
-  int nstar, NSTARS;
-  int i, j, Nbytes, nbytes, Nregions;
-  double R, D, M, MagLimit;
-  FILE *f;
-  GSCRegion *region, *gregions();
-  
-  region = gregions1 (catstats, &Nregions);
-
-  MagLimit = MAX (MAX (BRIGHT_HALO_MAG, BRIGHT_XTRAIL_MAG), BRIGHT_YTRAIL_MAG); 
-  nstar = 0;
-  NSTARS = DNSTARS;
-  ALLOCATE (tbuffer, char, (BLOCK*BYTES_STAR));
-  ALLOCATE (catalog[0].average, Average, NSTARS);
-  Nbytes = BLOCK*BYTES_STAR;
-  
-  for (j = 0; j < Nregions; j++) {
-    f = fopen (region[j].filename, "r");
-    if (f == (FILE *) NULL) {
-      fprintf (stderr, "no stars in %s, skipping\n", region[j].filename);
-      clear_lockfile ();
-      exit (0);
-    }
-    
-    while ((nbytes = fread (tbuffer, 1, Nbytes, f)) > 0) {
-      for (i = 0; i < nbytes / BYTES_STAR; i++) {
-	dparse (&M, 3, &tbuffer[i*BYTES_STAR]);
-	if (M > MagLimit) continue;
-	dparse (&R, 1, &tbuffer[i*BYTES_STAR]);
-	dparse (&D, 2, &tbuffer[i*BYTES_STAR]);
-	catalog[0].average[nstar].R = R;
-	catalog[0].average[nstar].D = D;
-	catalog[0].average[nstar].M = M * 1000.0;
-	nstar++;
-	if (nstar == NSTARS - 1) {
-	  NSTARS += DNSTARS;
-	  REALLOCATE (catalog[0].average, Average, NSTARS);
-	}
-      }
-    }
-    fclose (f);
-  }
-
-  free (tbuffer);
-  REALLOCATE (catalog[0].average, Average, nstar);
-  catalog[0].Naverage = nstar;
-  
-}
-
Index: unk/Ohana/src/markrock/src/old/load_gsc_data_ghost.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/load_gsc_data_ghost.c	(revision 4809)
+++ 	(revision )
@@ -1,75 +1,0 @@
-# include "markstar.h"
-# define NBYTES 160000
-# define BYTES_STAR 23
-# define BLOCK 1000
-# define DNSTARS 1000
-
-/* this routine is basically identical to load_gsc_data, but
-   it is not limited to a single region file, and it merges the 
-   results */
-
-load_gsc_data_ghost (catalog, region, Nregion, image)
-Catalog catalog[];
-GSCRegion *region;
-int Nregion;
-Image image[];
-{
-
-  /* load data from the GSC files */
-  char filename[128];
-  char *tbuffer;
-  int nstar, NSTARS;
-  int i, j, Nbytes, nbytes;
-  double R, D, M, X, Y;
-  FILE *f;
-  Coords *tcoords;
-  int MinX, MinY, MaxX, MaxY;
-  
-  nstar = 0;
-  NSTARS = DNSTARS;
-  ALLOCATE (tbuffer, char, (BLOCK*BYTES_STAR));
-  ALLOCATE (catalog[0].average, Average, NSTARS);
-  tcoords = &image[0].coords;
-  MinX = 0;
-  MinY = 0;
-  MaxX = image[0].NX;
-  MaxY = image[0].NY;
-  
-  for (j = 0; j < Nregion; j++) {
-    
-    f = fopen (region[j].filename, "r");
-    if (f == (FILE *) NULL) {
-      fprintf (stderr, "no stars in %s, skipping\n", region[j].filename);
-      clear_lockfile ();
-      exit (0);
-    }
-    
-    Nbytes = BLOCK*BYTES_STAR;
-    while ((nbytes = fread (tbuffer, 1, Nbytes, f)) > 0) {
-      for (i = 0; i < nbytes / BYTES_STAR; i++) {
-	dparse (&M, 3, &tbuffer[i*BYTES_STAR]);
-	if (M > GHOST_MAG) continue;
-	dparse (&R, 1, &tbuffer[i*BYTES_STAR]);
-	dparse (&D, 2, &tbuffer[i*BYTES_STAR]);
-	RD_to_XY (&X, &Y, R, D, tcoords);
-	if ((X < MinX) || (X > MaxX) || (Y < MinY) || (Y > MaxY)) continue;
-	catalog[0].average[nstar].R = R;
-	catalog[0].average[nstar].D = D;
-	catalog[0].average[nstar].M = M * 1000.0;
-	nstar++;
-	if (nstar == NSTARS - 1) {
-	  NSTARS += DNSTARS;
-	  REALLOCATE (catalog[0].average, Average, NSTARS);
-	}
-      }
-    }
-
-  }
-
-  free (tbuffer);
-  REALLOCATE (catalog[0].average, Average, MAX (nstar, 1));
-  catalog[0].Naverage = nstar;
-
-}
-
-
Index: unk/Ohana/src/markrock/src/old/mark_trail.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/mark_trail.c	(revision 4809)
+++ 	(revision )
@@ -1,250 +1,0 @@
-# include "markstar.h"
-int *make_common_list ();
-int *check_common_list ();
-
-mark_trail (catstats, mark, Nave, i, m, b, axis, catalog)
-     CatStats catstats[];
-     char *mark;
-     int i, Nave, axis;
-     double m, b;
-     Catalog catalog[];
-{
-
-  float *R, *D;
-  int j, k, jj, kk, N, NPTS, marked, start, end, Nm;
-  int *good, *seq, *N1;
-  double *dist, *dist2;
-  double d2, di, Di, dD, n, Dist, scale, norm;
-  double spacing;
-  int *list, Nlist;
-  int M, Nmeas, thisimage;
-
-  R = catstats[0].X;
-  D = catstats[0].Y;
-  N1 = catstats[0].N;
-  spacing = catstats[0].spacing;
-
-  NPTS = 200;
-  ALLOCATE (good, int, NPTS);
-  ALLOCATE (dist, double, NPTS);
-  ALLOCATE (dist2, double, NPTS);
-  ALLOCATE (seq, int, NPTS);
-
-  /* Find all points which lie near line */
-  /* save the entry number and distance along line */
-  N = 0;
-  scale = sqrt (1.0 + m*m);
-
-  if (axis == 1) {
-    for (j = 0; j < Nave; j++) {
-      norm = scale * fabs(R[j] - m*D[j] - b);
-      if (!mark[j] && (norm < TRAIL_WIDTH)) {
-	good[N] = j;
-	dist[N] = scale * (D[j] - D[i] + m*(R[j] - R[i]));
-	seq[N] = N;
-	N++;
-	if (N == NPTS - 1) {
-	  NPTS += 200;
-	  REALLOCATE (good, int, NPTS);
-	  REALLOCATE (dist, double, NPTS);
-	  REALLOCATE (dist2, double, NPTS);
-	  REALLOCATE (seq, int, NPTS);
-	}
-      }
-    }
-  } else {
-    for (j = 0; j < Nave; j++) {
-      norm = scale * fabs(D[j] - m*R[j] - b);
-      if (!mark[j] && (norm < TRAIL_WIDTH)) {
-	good[N] = j;
-	dist[N] = scale * (R[j] - R[i] + m*(D[j] - D[i]));
-	seq[N] = N;
-	N++;
-	if (N == NPTS - 1) {
-	  NPTS += 200;
-	  REALLOCATE (good, int, NPTS);
-	  REALLOCATE (dist, double, NPTS);
-	  REALLOCATE (dist2, double, NPTS);
-	  REALLOCATE (seq, int, NPTS);
-	}
-      }
-    }
-  }
-  
-  if (N < NPTSINLINE) 
-    return (0);
-
-  sort_seq (dist, seq, N);
-  
-  start = -1; end = -1;
-  for (j = 0; j < N-1; j++) {
-    /* if we have part of a line, and next point is in the line, check for common images */
-    if ((start != -1) && (fabs(dist[j] - dist[j+1]) < spacing)) {
-      list = check_common_list (list, N1[good[seq[j+1]]], &Nlist, catalog);
-      if (Nlist == 0) { /* if no common images, dump list and continue */
-	end = j + 1;
-	if (end - start > NPTSINLINE) {
-	  if (axis == 0)
-	    fprintf (stderr, "marking line %f %f  %d pts  %d  %d %d, %f %f\n", m, b, N, end-start, start, end, dist[start], dist[end-1]);
-	  else
-	    fprintf (stderr, "marking line %f %f  %d pts  %d  %d %d, %f %f\n", 1.0/m, -1.0*b/m, N, end-start, start, end, dist[start], dist[end-1]);
-	  for (k = start; k < end; k++) {
-	    M = N1[good[seq[k]]];
-	    mark[good[seq[k]]] = TRUE;
-	    /* we need to mark measurements from all images in common on the line */
-	    Nm = 0;
-	    for (jj = 0; jj < catalog[0].average[M].Nm; jj++) {
-	      Nmeas = catalog[0].average[M].offset + jj;
-	      thisimage = catalog[0].image[Nmeas];
-	      for (kk = 0; kk < Nlist; kk++) {
-		if (thisimage == list[kk]) {
-		  catalog[0].measure[Nmeas].average |= PART_OF_TRAIL;
-		  Nm ++;
-		}
-	      }
-	    }
-	    /* if there is only 1 measurement, mark object as bad */
-	    if (catalog[0].average[M].Nm == Nm) {
-	      catalog[0].average[M].code = ID_TRAIL;
-	    }
-	    catalog[0].average[M].code = ID_TRAIL;
-	  }
-	}
-	start = -1;
-	end = -1;
-      }
-    }
-    /* if we haven't yet found a line segment, check for the beginning */
-    if ((start < 0) && (fabs(dist[j] - dist[j+1]) < spacing)) {
-      start = j;
-      list = make_common_list (N1[good[seq[j]]], N1[good[seq[j+1]]], &Nlist, catalog);
-      if (Nlist == 0) { /* if no common images, move on */
-	start = -1;
-	free (list);
-      }
-    }
-    /* if we have a complete line, check for validity.  if it has enough members,
-	 mark them and continue searching for lines */
-    if ((start != -1) && ((fabs(dist[j] - dist[j+1]) >= spacing) || (j == N-2))) {
-      end = j + 1;
-      if (end - start > NPTSINLINE) {
-	if (axis == 0)
-	  fprintf (stderr, "marking line %f %f  %d pts  %d  %d %d, %f %f\n", m, b, N, end-start, start, end, dist[start], dist[end-1]);
-	else
-	  fprintf (stderr, "marking line %f %f  %d pts  %d  %d %d, %f %f\n", 1.0/m, -1.0*b/m, N, end-start, start, end, dist[start], dist[end-1]);
-	for (k = start; k < end; k++) {
-	  M = N1[good[seq[k]]];
-	  mark[good[seq[k]]] = TRUE;
-	  if (catalog[0].average[M].code == ID_BLEED) continue;
-	  /* we need to mark measurements from all images in common on the line */
-	  Nm = 0;
-	  for (jj = 0; jj < catalog[0].average[M].Nm; jj++) {
-	    Nmeas = catalog[0].average[M].offset + jj;
-	    thisimage = catalog[0].image[Nmeas];
-	    for (kk = 0; kk < Nlist; kk++) {
-	      if (thisimage == list[kk]) {
-		catalog[0].measure[Nmeas].average |= PART_OF_TRAIL;
-		Nm ++;
-	      }
-	    }
-	  }
-	  /* if there is only 1 measurement, mark object as bad */
-	  if (catalog[0].average[M].Nm == Nm) {
-	    catalog[0].average[M].code = ID_TRAIL;
-	  }
-	  catalog[0].average[M].code = ID_TRAIL;
-	}
-      }
-      free (list);
-      start = -1;
-      end = -1;
-    }
-  }
-}
-
-
-/* I is Average seq number for star 1, J for star 2 */
-int *make_common_list (I, J, Nlist, catalog)
-int I, J, *Nlist;
-Catalog catalog[];
-{
-
-  int i, j, N1, N2, nlist, NLIST;
-  int *list;
-
-  NLIST = 50;
-  ALLOCATE (list, int, NLIST);
-  nlist = 0;
-
-  for (i = 0; i < catalog[0].average[I].Nm; i++) {
-    N1 = catalog[0].average[I].offset + i;
-    if (catalog[0].image[N1] == -1)
-      continue; /* not a real measurement */
-    for (j = 0; j < catalog[0].average[J].Nm; j++) {
-      N2 = catalog[0].average[J].offset + j;
-      if (catalog[0].image[N2] == -1)
-	continue; /* not a real measurement */
-      if (catalog[0].image[N1] == catalog[0].image[N2]) {
-	list[nlist] = catalog[0].image[N1];
-	nlist ++;
-	if (nlist == NLIST - 1) {
-	  NLIST += 50;
-	  REALLOCATE (list, int, NLIST);
-	}
-      }
-    }
-  }
-  
-  REALLOCATE (list, int, MAX(nlist, 1));
-  *Nlist = nlist;
-  return (list);
-
-}
-
-
-
-/* J is Average seq number for star */
-int *check_common_list (inlist, J, Nlist, catalog)
-int *inlist, J, *Nlist;
-Catalog catalog[];
-{
-
-  int i, j, N2, Ninlist;
-  int *list, NLIST, nlist;
-
-  NLIST = 50;
-  ALLOCATE (list, int, NLIST);
-  nlist = 0;
-  Ninlist = *Nlist;
-
-  for (i = 0; i < Ninlist; i++) {
-    for (j = 0; j < catalog[0].average[J].Nm; j++) {
-      N2 = catalog[0].average[J].offset + j;
-      if (catalog[0].image[N2] == -1)
-	continue; /* not a real measurement */
-      if (inlist[i] == catalog[0].image[N2]) {
-	list[nlist] = inlist[i];
-	nlist ++;
-	if (nlist == NLIST - 1) {
-	  NLIST += 50;
-	  REALLOCATE (list, int, NLIST);
-	}
-      }
-    }
-  }
-  
-  /* if there are no common images, return the input list */
-  if (nlist != 0) {
-    free (inlist);
-    REALLOCATE (list, int, MAX(nlist, 1));
-    *Nlist = nlist;
-    return (list);
-  } else {
-    return (inlist);
-  }
-
-}
-
-
-/* measurements associated with image number -1 are not 
-   measurements we made, but are added, like USNO */
Index: unk/Ohana/src/markrock/src/old/markstar.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/markstar.c	(revision 4809)
+++ 	(revision )
@@ -1,60 +1,0 @@
-# include "markstar.h"
-
-main (argc, argv)
-int argc;
-char **argv;
-{
-
-  FILE *f;
-  int i, Nstars, Nimage, Nregions, Nmissed;
-  Image *image, *find_images();
-  Catalog catalog;
-  CatStats catstats;
-  struct timeval now, then;  
-  
-  gettimeofday (&then, (void *) NULL);
-  ConfigInit (argc, argv);
-
-  VERBOSE = FALSE;
-  if ((i = get_argument (argc, argv, "-v"))) {
-    VERBOSE = TRUE;
-    remove_argument (i, &argc, argv);
-  }
-  RESET = FALSE;
-  if ((i = get_argument (argc, argv, "-reset"))) {
-    RESET = TRUE;
-    remove_argument (i, &argc, argv);
-  }
-  if (argc < 2) {
-    fprintf (stderr, "ERROR: Usage: markstar (catalog)\n");
-    exit (0);
-  }
-
-  /* if lockfile exists, program will complain and quit */
-  check_lockfile (); 
-
-  gcatalog (argv[1], &catalog);
-
-  gcatstats (&catalog, &catstats);
-
-  image = find_images (&catstats, &Nimage);
-
-  match_images (&catalog, image, Nimage);
-    
-  find_bright_stars (&catalog, &catstats); 
-
-  find_ghosts (&catalog, &catstats, argv[1], image, Nimage);  
-
-  find_trails (&catalog, &catstats);  
-
-  wcatalog (argv[1], &catalog);
-
-  if (VERBOSE) {
-    gettimeofday (&now, (void *) NULL);
-    fprintf (stderr, "%s: elapsed time = %.2f sec\n", argv[1], 
-	     (now.tv_sec - then.tv_sec) + 1e-6*(now.tv_usec - then.tv_usec));
-  }
-  clear_lockfile (); 
-  fprintf (stderr, "SUCCESS\n");
-}
-
Index: unk/Ohana/src/markrock/src/old/match_images.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/match_images.c	(revision 4809)
+++ 	(revision )
@@ -1,58 +1,0 @@
-# include "markstar.h"
-
-match_images (catalog, image, Nimage)
-Catalog catalog[];
-Image   image[];
-int Nimage;
-{
-  
-  int j, k, found;
-  unsigned int *start, *stop;
-
-  /* this must be allocated so future free will not fail */
-  ALLOCATE (catalog[0].image, int, MAX (catalog[0].Nmeasure, 1));
-  if (catalog[0].Naverage == 0) {
-    if (VERBOSE) fprintf (stderr, "no stars in catalog, skipping\n");
-    return (FALSE);
-  }
-
-  ALLOCATE (start, unsigned int, Nimage);
-  ALLOCATE (stop,  unsigned int, Nimage);
-  for (j = 0; j < Nimage; j++) {
-    start[j] = image[j].tzero - MAX(0.05*image[j].trate*image[j].NY, 1);
-    stop[j]  = image[j].tzero + MAX(1.05*image[j].trate*image[j].NY, 1);
-  }
-
-  for (j = 0; j < catalog[0].Nmeasure; j++) {
-    found = FALSE;
-    if (catalog[0].measure[j].t == 0) {
-      catalog[0].image[j] = -1;
-      found = TRUE;
-    }
-    for (k = 0; (k < Nimage) && !found; k++) {
-      if ((catalog[0].measure[j].t >= start[k]) && 
-	  (catalog[0].measure[j].t <= stop[k])) {
-	catalog[0].image[j] = k;
-	found = TRUE;
-      }
-    }
-    if (!found) {
-      fprintf (stderr, "ERROR: can't find source image for this measurement: %d\n",
-	       catalog[0].measure[j].t);
-      clear_lockfile ();
-      exit (0);
-    }
-  }
-  free (start);
-  free (stop);
-}
-
-  /* this routine uses the time of each measurement to match the
-measurement with an image.  Since the measurement is only store to 1
-sec accuracy, which corresponds to roughly 30 rows at nominal speed,
-we can't tell exactly which image the star come from.  However, this
-doesn't matter, and in fact this helps a bit: a measurement from the
-top of one image is the same as from the bottom of the next.
-Therefore, we intentionally blur the edges of the images by 5%, which
-will help to tie together neighboring images... */
-
Index: unk/Ohana/src/markrock/src/old/photometry.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/photometry.c	(revision 4809)
+++ 	(revision )
@@ -1,61 +1,0 @@
-# include "markrock.h"
-
-double PhotRel (Measure *measure, PhotCodeData *photcodes, double ZP) {
-
-  int Np;
-  double Mrel, Klam;
-
-  Np = photcodes[0].hashcode[measure[0].source];
-
-  if (photcodes[0].code[Np].type == PHOT_REF) {
-    Mrel = 0.001 * measure[0].M;
-    return (Mrel);
-  }
-
-  Klam = photcodes[0].code[Np].K;
-  
-  Mrel = 0.001*(measure[0].M + Klam*(measure[0].airmass - 1000) + photcodes[0].code[Np].C - measure[0].Mcal) - ZP;
-	  
-  return (Mrel);
-
-}
-
-double PhotInst (Measure *measure, PhotCodeData *photcodes, double ZP) {
-
-  int Np;
-  double M, Klam;
-
-  Np = photcodes[0].hashcode[measure[0].source];
-
-  if (photcodes[0].code[Np].type == PHOT_REF) {
-    M = 0.001 * measure[0].M;
-    return (M);
-  }
-
-  M = 0.001*(measure[0].M - measure[0].dt);
-	  
-  return (M);
-
-}
-
-double PhotAbs (Measure *measure, PhotCodeData *photcodes, double ZP) {
-
-  int Np;
-  double Mabs, Klam;
-
-  Np = photcodes[0].hashcode[measure[0].source];
-
-  if (photcodes[0].code[Np].type == PHOT_REF) {
-    Mabs = 0.001 * measure[0].M;
-    return (Mabs);
-  }
-
-  Klam = photcodes[0].code[Np].K;
-  
-  /* Mabs = 0.001*(measure[0].M + Klam*(measure[0].airmass - 1000) + photcodes[0].code[Np].C) - ZP; */
-
-  Mabs = 0.001*(measure[0].M + Klam*(measure[0].airmass - 1000) + photcodes[0].code[Np].C) - ZP;
-  
-  return (Mabs);
-	  
-}
Index: unk/Ohana/src/markrock/src/old/sort_lists.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/sort_lists.c	(revision 4809)
+++ 	(revision )
@@ -1,48 +1,0 @@
-
-sort_lists (X, Y, S, N) 
-float *X, *Y;
-int *S, N;
-{
-  int l,j,ir,i;
-  double tX, tY, tS;
-  
-  l = N >> 1;
-  ir = N - 1;
-  for (;;) {
-    if (l > 0) {
-      l--;
-      tX = X[l];
-      tY = Y[l];
-      tS = S[l];
-    }
-    else {
-      tX = X[ir];
-      X[ir] = X[0];
-      tY = Y[ir];
-      Y[ir] = Y[0];
-      tS = S[ir];
-      S[ir] = S[0];
-      if (--ir == 0) {
-	X[0] = tX;
-	Y[0] = tY;
-	S[0] = tS;
-	return;
-      }
-    }
-    i = l;
-    j = (l << 1) + 1;
-    while (j <= ir) {
-      if (j < ir && X[j] < X[j+1]) j++;
-      if (tX < X[j]) {
-	X[i] = X[j];
-	Y[i] = Y[j];
-	S[i] = S[j];
-	j += (i=j) + 1;
-      }
-      else j = ir + 1;
-    }
-    X[i] = tX;
-    Y[i] = tY;
-    S[i] = tS;
-  }
-}
Index: unk/Ohana/src/markrock/src/old/sort_stars.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/sort_stars.c	(revision 4809)
+++ 	(revision )
@@ -1,61 +1,0 @@
-# include "relphot.h"
-
-void sort_stars (radec, stars, Nstars)
-int  **radec;
-Star  *stars;
-int    Nstars;
-{
-  
-  int i;
-  double *RAs;
-
-  ALLOCATE (radec[0], int, Nstars);
-  ALLOCATE (RAs, double, Nstars);
-  for (i = 0; i < Nstars; i++) {
-    radec[0][i] = i;
-    RAs[i] = stars[i].RA;
-  }
-
-  sort_seq (radec[0], RAs, Nstars);
-  free (RAs);
-
-}
-
-
-void sort_seq (seq, value, N) 
-int *seq;
-double *value;
-int N;
-{
-  int l,j,ir,i;
-  int temp;
-  
-  l = N >> 1;
-  ir = N - 1;
-  for (;;) {
-    if (l > 0) {
-      temp = seq[--l];
-    }
-    else {
-      temp = seq[ir];
-      seq[ir] = seq[0];
-      if (--ir == 0) {
-	seq[0] = temp;
-	return;
-      }
-    }
-    i = l;
-    j = (l << 1) + 1;
-    while (j <= ir) {
-      if (j < ir && value[seq[j]] < value[seq[j+1]]) ++j;
-      if (value[temp] < value[seq[j]]) {
-	seq[i]=seq[j];
-	j += (i=j) + 1;
-      }
-      else j = ir + 1;
-    }
-    seq[i] = temp;
-  }
-}
-
-
Index: unk/Ohana/src/markrock/src/old/string.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/string.c	(revision 4809)
+++ 	(revision )
@@ -1,64 +1,0 @@
-# include <stdio.h>
-# include <math.h>
-# define TRUE  1
-# define FALSE 0
-
-int scan_line (f, line) 
-FILE *f;
-char line[];
-{
-
-  int i, status;
-  char c;
-  
-  status = EOF + 1;
-  
-  for (i = 0, c = 0; (c != '\n') && (status != EOF); i++) {
-    status = fscanf (f, "%c", &c);
-    line[i] = c;
-  }
-  line[i - 1] = 0;  /* this could make things crash! */
-
-  if (i > 1) {
-    status = EOF + 1;
-  }
-
-  return (status);
-
-}
-
-char *_parse_nextword(string)
-char *string;
-{
-  if (string == (char *) NULL) return ((char *) NULL);
-
-  for (; isspace (*string); string++);
-  for (; (*string != 0) && !isspace (*string); string++);
-  for (; isspace (*string); string++);
-  return (string);
-}
-
-int dparse (X, NX, line)
-double *X;
-int NX;
-char *line;
-{
-
-  int i;
-  char *word;
-  char *ptr;
-
-  word = line;
-  for (i = 0; i < NX - 1; i++)
-    word = _parse_nextword (word);
-
-  *X = strtod (word, &ptr);
-  if (ptr == word)
-    return (FALSE);
-  else {
-    if (word[0] == '-') 
-      return (-1);
-    else
-      return (1);
-  }
-}
Index: unk/Ohana/src/markrock/src/old/wimage.c
===================================================================
--- /trunk/Ohana/src/markrock/src/old/wimage.c	(revision 4809)
+++ 	(revision )
@@ -1,67 +1,0 @@
-# include "addstar.h"
-
-wimage (filename, image, Nstars)
-char *filename;
-Image image[];
-int Nstars;
-{
-  
-  int Nimages, status;
-  FILE *f;
-  Header header;
-
-  if (!fits_read_header (ImageCat, &header)) {
-    if (VERBOSE) fprintf (stderr, "can't find %s, creating a new one\n", ImageCat);
-    if (!fits_read_header (ImageTemplate, &header)) {
-      fprintf (stderr, "ERROR: can't find template header %s\n", ImageTemplate);
-      clear_lockfile ();
-      exit (0);
-    }
-    f = fopen (ImageCat, "w");
-    if (f == NULL) {
-      fprintf (stderr, "ERROR: can't create/open image catalog file: %s\n", ImageCat);
-      clear_lockfile ();
-      exit (0);
-    }
-  }
-  
-  Nimages = 0;
-  fits_scan (&header, "NIMAGES", "%d", 1, &Nimages);
-  Nimages ++;
-  fits_modify (&header, "NIMAGES", "%d", 1, Nimages);
-
-  f = fopen (ImageCat, "r+");
-  if (f == NULL) {
-    fprintf (stderr, "ERROR: can't create/open image catalog file: %s\n", ImageCat);
-    clear_lockfile ();
-    exit (0);
-  }
-
-  /* position to begining of file to write header */
-  fseek (f, 0, SEEK_SET);
-  status = Fwrite (header.buffer, 1, header.size, f, "char");
-  if (status != header.size) {
-    fprintf (stderr, "ERRPR: failed writing data to image header\n");
-    clear_lockfile ();
-    exit (0);
-  }
-
-  fseek (f, 0, SEEK_END);
-  fprintf (stderr, "Image: %d\n", sizeof(Image));
-  status = Fwrite (image, sizeof(Image), 1, f, "image");
-  if (status != 1) {
-    fprintf (stderr, "ERRPR: failed writing data to image catalog\n");
-    clear_lockfile ();
-    exit (0);
-  }
-
-  fclose (f);
-  
-
-}
-
-/* the image we add in this routine is always a new image.  
-   We only need to do two things:
-     1) append the data for the image to the end of the file
-     2) update the NIMAGES field in the header (which means, read in header, re-write)
- */
Index: /trunk/Ohana/src/markstar/src/aregion.c
===================================================================
--- /trunk/Ohana/src/markstar/src/aregion.c	(revision 4809)
+++ /trunk/Ohana/src/markstar/src/aregion.c	(revision 4810)
@@ -87,5 +87,5 @@
     strncpy (temp, &buffer[i*48], 48);
     temp[49] = 0;
-    hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
+    hstgsc_hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
     if (RA1 < RA0) RA1 += 360.0;
 # ifdef DEBUG
@@ -117,70 +117,2 @@
   return;
 }
-
-
-/**********/
-int hms_to_deg (h0, h1, d0, d1, string) 
-     char *string;
-     double *h0, *h1, *d0, *d1;
-{
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: /trunk/Ohana/src/misc/src/mkfringetable.c
===================================================================
--- /trunk/Ohana/src/misc/src/mkfringetable.c	(revision 4809)
+++ /trunk/Ohana/src/misc/src/mkfringetable.c	(revision 4810)
@@ -1,7 +1,6 @@
 # include <ohana.h>
-static char *version = "mkfringetable $Revision: 1.4 $";
+static char *version = "mkfringetable $Revision: 1.5 $";
 
 void get_version (int argc, char **argv, char *version);
-char *sec_to_date (unsigned long second);
 
 int main (int argc, char **argv) {
@@ -176,15 +175,4 @@
 
 /**** support functions ******/
-char *sec_to_date (unsigned long second) {
-  
-  struct tm *gmt;
-  char *line;
-  
-  ALLOCATE (line, char, 64);
-  gmt   = gmtime (&second);
-  sprintf (line, "%4d/%02d/%02d,%02d:%02d:%02d", 1900+gmt[0].tm_year, gmt[0].tm_mon+1, gmt[0].tm_mday, gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 
-  return (line);
-}
-
 void get_version (int argc, char **argv, char *version) {
 
Index: /trunk/Ohana/src/misc/src/radec.c
===================================================================
--- /trunk/Ohana/src/misc/src/radec.c	(revision 4809)
+++ /trunk/Ohana/src/misc/src/radec.c	(revision 4810)
@@ -2,5 +2,5 @@
 
 int help ();
-int hms_to_deg (double *h, double *d, char *string, char sep, int Nin);
+int _hms_to_deg (double *h, double *d, char *string, char sep, int Nin);
 
 int main (int argc, char **argv) {
@@ -15,5 +15,5 @@
   if (get_argument (argc, argv, "-hms")) {
     while (scan_line (stdin, line) != EOF) {
-      status = hms_to_deg (&ra, &dec, line, sep, 3);
+      status = _hms_to_deg (&ra, &dec, line, sep, 3);
       if (status)
 	fprintf (stdout, "%10.6f %10.6f\n", ra, dec);
@@ -56,5 +56,5 @@
 
 /**********/
-int hms_to_deg (double *h, double *d, char *string, char sep, int Nin) {
+int _hms_to_deg (double *h, double *d, char *string, char sep, int Nin) {
   
   char *c;
Index: /trunk/Ohana/src/misc/src/regions.c
===================================================================
--- /trunk/Ohana/src/misc/src/regions.c	(revision 4809)
+++ /trunk/Ohana/src/misc/src/regions.c	(revision 4810)
@@ -109,5 +109,5 @@
 	strncpy (temp, &buffer[i*48], 48);
 	temp[49] = 0;
-	hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
+	hstgsc_hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
 	(DEBUG) && fprintf (stderr, "%f %f %f    %f %f %f  %s\n", dec, DEC0, DEC1, ra, RA0, RA1, temp);
 	if ((dec >= 0) && (dec >= DEC0) && (dec < DEC1) && (ra >= RA0) && (ra < RA1)) {
@@ -134,72 +134,2 @@
 
 }
-
-
-
-/**********/
-int hms_to_deg (h0, h1, d0, d1, string) 
-char *string;
-double *h0, *h1, *d0, *d1;
-{
-  
-  char *c;
-  int i, flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
-
-/*
-      if (buffer[i*48 + 19] == ' ') continue;
-      strncpy (temp, &buffer[i*48 + 19], 20);       temp[20] = 0;
-      hms_to_deg (&RA,  &DEC, temp, ' ', 3);
-
-
-  dBigRA = 360.0 / (int)(0.5 + 48*cos(3.1415927*0.5*(BigDecBounds[NBigDec] + BigDecBounds[NBigDec + 1])/180.0));
-
-  NBigRA = ra / dBigRA;
-
-  NBig = NBigRA;
-  for (i = 0; (i < 12) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-  for (i = 13; (i < 24) && (i < NBigDec); i++) {
-    NBig += NBigRASections[i];
-  }
-
-
-  fprintf (stderr, "%d %d %d %d %f %f -> %f %f %f\n", NBigDec, NBigRA, NBigRASections[NBigDec], NBig, ra, dec, BigDecBounds[NBigDec], BigDecBounds[NBigDec + 1], dBigRA);
-*/
Index: /trunk/Ohana/src/opihi/include/convert.h
===================================================================
--- /trunk/Ohana/src/opihi/include/convert.h	(revision 4809)
+++ /trunk/Ohana/src/opihi/include/convert.h	(revision 4810)
@@ -19,5 +19,4 @@
 char         *meade_ra_to_str       PROTO((double deg));
 char         *meade_dec_to_str      PROTO((double deg));
-int           hstgsc_hms_to_deg     PROTO((double *h0, double *h1, double *d0, double *d1, char *string));
 char         *strptime              PROTO((const char *s, const char *format, struct tm *tm));
 
Index: /trunk/Ohana/src/opihi/lib.data/convert.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.data/convert.c	(revision 4809)
+++ /trunk/Ohana/src/opihi/lib.data/convert.c	(revision 4810)
@@ -69,45 +69,4 @@
 }
 
-/***** extract RA - RA, DEC - DEC from HST GSC entry *****/
-int hstgsc_hms_to_deg (double *h0, double *h1, double *d0, double *d1, char *string) {
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
 /***** convert 00:00:00 or 00:00 to 0 - 86400 ****/
 int hms_to_sec (char *string, time_t *second) {
Index: /trunk/Ohana/src/photdbc/src/get_regions.c
===================================================================
--- /trunk/Ohana/src/photdbc/src/get_regions.c	(revision 4809)
+++ /trunk/Ohana/src/photdbc/src/get_regions.c	(revision 4810)
@@ -114,5 +114,5 @@
       strncpy (temp, &buffer[i*48], 48);
       temp[49] = 0;
-      hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
+      hstgsc_hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
       if (RA1 < RA0) RA1 += 360.0;
       if ((DEC1 > 0) && (minDec < DEC1) && (maxDec > DEC0) && (minRa < RA1) && (maxRa > RA0)) {
@@ -166,43 +166,2 @@
   
 }
-
-/**********/
-int hms_to_deg (double *h0, double *h1, double *d0, double *d1, char *string) {
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
Index: /trunk/Ohana/src/relphot/include/relphot.h
===================================================================
--- /trunk/Ohana/src/relphot/include/relphot.h	(revision 4809)
+++ /trunk/Ohana/src/relphot/include/relphot.h	(revision 4810)
@@ -100,5 +100,4 @@
 /*** relphot prototypes ***/
 void          ConfigInit          PROTO((int *argc, char **argv));
-int           Fseek               PROTO((FILE *f, long offset, int whence));
 void          GetConfig           PROTO((char *config, char *field, char *format, int N, void *ptr));
 char         *GetPhotnamebyCode   PROTO((PhotCodeData *photcodes, int code));
Index: /trunk/Ohana/src/relphot/src/get_regions.c
===================================================================
--- /trunk/Ohana/src/relphot/src/get_regions.c	(revision 4809)
+++ /trunk/Ohana/src/relphot/src/get_regions.c	(revision 4810)
@@ -114,5 +114,5 @@
       strncpy (temp, &buffer[i*48], 48);
       temp[49] = 0;
-      hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
+      hstgsc_hms_to_deg (&RA0, &RA1, &DEC0, &DEC1, &temp[7]);
       if (RA1 < RA0) RA1 += 360.0;
       if ((DEC1 > 0) && (minDec < DEC1) && (maxDec > DEC0) && (minRa < RA1) && (maxRa > RA0)) {
Index: /trunk/Ohana/src/relphot/src/misc.c
===================================================================
--- /trunk/Ohana/src/relphot/src/misc.c	(revision 4809)
+++ /trunk/Ohana/src/relphot/src/misc.c	(revision 4810)
@@ -181,21 +181,2 @@
   }
 }
-
-/* fseek with timeout - 0.5 sec */
-int Fseek (FILE *f, long offset, int whence) {
-
-  int status;
-
-  status = fseek (f, offset, whence);
-  if (status == -1) {
-    int k;
-    /* fprintf (stderr, "problem seeking position: %d\n", errno); */
-    for (k = 0; (k < 10) && ((status = fseek (f, 0, SEEK_SET)) == -1); k++) usleep (50000);
-    if (status == -1) {
-      /* fprintf (stderr, "ERROR: serious problem seeking position: %d\n", errno); */
-      /* clear lock at this point? */
-      return (0);
-    }
-  }
-  return (1);
-}
Index: unk/Ohana/src/relphot/src/time.c
===================================================================
--- /trunk/Ohana/src/relphot/src/time.c	(revision 4809)
+++ 	(revision )
@@ -1,391 +1,0 @@
-# include "relphot.h"
-
-enum {TIME_NONE, TIME_DATE, TIME_DAYS, TIME_HOURS, TIME_MINUTES, TIME_SECONDS, TIME_JD, TIME_MJD};
-
-/***** convert [-]00:00:00 to 0.0000 ****/
-int dms_to_ddd (double *Value, char *string) {
-  
-  int valid, neg, status;
-  double tmp, value;
-  char *p1, *p2, *px;
-
-  valid = FALSE; 
-  neg = FALSE;
-  stripwhite (string);
-  p1 = string;
-  px = string + strlen(string);
-
-  if (string[0] == '-') { 
-    valid = TRUE; 
-    neg = TRUE;
-    p1 = &string[1];
-  }
-  if (string[0] == '+') { 
-    valid = TRUE; 
-    neg = FALSE;
-    p1 = &string[1];
-  }
-  if (isdigit(string[0])) { 
-    valid = TRUE;
-    p1 = &string[0];
-  }
-  if (!valid) { return (FALSE); }
-
-  status = 1;
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) return (FALSE); /* entry not a number: +fred */
-  value = tmp;
-  if (p2 == px) goto escape;    /* entry only number: +1.0 */ 
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;    /* entry not a number: +1:fred */
-  status = 2;
-  value += tmp / 60.0;
-  if (p2 == px) goto escape;    /* entry only number: +1:1 */
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;    /* entry not a number: +1:1:fred */
-  value += tmp / 3600.0;
-
- escape:
-  if (neg) {
-    value *= -1;
-  }
-  *Value = value;
-
-  return (status);
-}
-
-/**********/
-int str_to_radec (double *ra, double *dec, char *str1, char *str2) {
-
-  double Ra, Dec;
-
-  *ra = *dec = 0;
-  switch (dms_to_ddd (&Ra, str1)) {
-  case 0:
-    fprintf (stderr, "syntax error in RA\n");
-    return (FALSE);
-  case 1:
-    break;
-  case 2:
-    Ra = Ra * 15;
-    break;
-  }
-  switch (dms_to_ddd (&Dec, str2)) {
-  case 0:
-    fprintf (stderr, "syntax error in DEC\n");
-    return (FALSE);
-  case 1:
-  case 2:
-    break;
-  }
-  *ra = Ra;
-  *dec = Dec;
-  return (TRUE);
-}
-
-/**********/
-int chk_time (char *line) {
-
-  char *p1, *p2;
-  double tmp;
-  int mode;
-
-  p1 = line;
-  tmp = strtod (p1, &p2);
-  mode = TIME_DATE;
-  if (p2 == p1 + strlen (p1) - 1) {
-    if (*p2 == 'd') {
-      mode = TIME_DAYS;
-    }
-    if (*p2 == 'h') {
-      mode = TIME_HOURS;
-    }
-    if (*p2 == 'm') {
-      mode = TIME_MINUTES;
-    }
-    if (*p2 == 's') {
-      mode = TIME_SECONDS;
-    }
-    if (*p2 == 'j') {
-      mode = TIME_JD;
-    }
-    if (*p2 == 'J') {
-      mode = TIME_MJD;
-    }
-  }
-  return (mode);
-}
-
-/**********/
-int str_to_time (char *line, time_t *second) {
-  
-  char *tmpline;
-  struct tm *gmt;
-  struct timeval now;
-  double jd;
-  time_t tsec;
-
-  if (!strcasecmp (line, "NOW")) {
-    gettimeofday (&now, (struct timezone *) NULL);
-    *second = now.tv_sec;
-    return (TRUE);
-  }
-    
-  if (!strncasecmp (line, "TODAY", 5)) {
-    gettimeofday (&now, (struct timezone *) NULL);
-    if (line[5]) { /* line has extra data (ie, hh:mm:ss) */
-      tsec = now.tv_sec;
-      ALLOCATE (tmpline, char, 64);
-      gmt   = gmtime (&tsec);
-      sprintf (tmpline, "%04d/%02d/%02d,%s", 1900 + gmt[0].tm_year, gmt[0].tm_mon+1, gmt[0].tm_mday, &line[6]);
-      *second = date_to_sec (tmpline);
-      free (tmpline);
-      return (TRUE);
-    } else {
-      *second = 86400 * ((int)(now.tv_sec / 86400));
-      return (TRUE); 
-    }
-  }
-    
-  switch (chk_time (line)) {
-  case 0:
-    return (FALSE);
-  case TIME_DATE:
-    *second = date_to_sec (line);
-    return (TRUE);
-  case TIME_DAYS:
-    *second = strtod (line, 0) * 86400.0;
-    return (TRUE);
-  case TIME_HOURS:
-    *second = strtod (line, 0) * 3600.0;
-    return (TRUE);
-  case TIME_MINUTES:
-    *second = strtod (line, 0) * 60.0;
-    return (TRUE);
-  case TIME_SECONDS:
-    *second = strtod (line, 0);
-    return (TRUE);
-  case TIME_JD:
-    jd = strtod (line, 0);
-    *second = jd_to_sec (jd);
-    return (TRUE);
-  case TIME_MJD:
-    jd = strtod (line, 0);
-    *second = mjd_to_sec (jd);
-    return (TRUE);
-  }
-  return (FALSE);
-}
-
-
-/**********/
-int str_to_dtime (char *line, double *second) {
-  
-  switch (chk_time (line)) {
-  case 0:
-  case TIME_JD:
-  case TIME_MJD:
-  case TIME_DATE:
-    return (FALSE);
-  case TIME_DAYS:
-    *second = strtod (line, 0) * 86400.0;
-    return (TRUE);
-  case TIME_HOURS:
-    *second = strtod (line, 0) * 3600.0;
-    return (TRUE);
-  case TIME_MINUTES:
-    *second = strtod (line, 0) * 60.0;
-    return (TRUE);
-  case TIME_SECONDS:
-    *second = strtod (line, 0);
-    return (TRUE);
-  }
-  return (FALSE);
-}
-
-/**********/
-double sec_to_jd (time_t second) {
-
-  double jd;
-  
-  jd = second/86400.0 + 2440587.5;
-  return (jd);
-}
-
-/**********/
-time_t jd_to_sec (double jd) {
-
-  time_t second;
-
-  second = (jd - 2440587.5)*86400;
-  return (second);
-}
-
-/**********/
-double sec_to_mjd (time_t second) {
-
-  double mjd;
-  
-  mjd = second/86400.0 + 40587.0;
-  return (mjd);
-}
-
-/**********/
-time_t mjd_to_sec (double mjd) {
-
-  time_t second;
-
-  second = (mjd - 40587.0)*86400;
-  return (second);
-}
-
-/**********/
-char *sec_to_date (time_t second) {
-  
-  struct tm *gmt;
-  char *line;
-  
-  ALLOCATE (line, char, 64);
-  gmt   = gmtime (&second);
-  sprintf (line, "%04d/%02d/%02d,%02d:%02d:%02d", 1900 + gmt[0].tm_year, gmt[0].tm_mon+1, gmt[0].tm_mday, gmt[0].tm_hour, gmt[0].tm_min, gmt[0].tm_sec); 
-  return (line);
-
-}
-
-/***** date in format yyyy/mm/dd,hh:mm:ss *****/
-time_t date_to_sec (char *date) {
-  
-  time_t second;
-  double tmp, jd;
-  struct tm now;
-  char *p1, *p2, *px;
-  
-  p1 = date;
-  px = date + strlen(date);
-  bzero (&now, sizeof(now));
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_year = tmp;
-  if (now.tm_year > 1000) now.tm_year -= 1900;
-  if (now.tm_year <   50) now.tm_year += 100;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_mon = tmp - 1; /* mon runs from 0 - 11 */
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_mday = tmp;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  p1 = p2 + 1;
-  now.tm_hour = tmp;
-  if (p2 == px) goto escape;  
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_min = tmp;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
-  tmp = strtod (p1, &p2);
-  if (p2 == p1) goto escape;
-  now.tm_sec = tmp;
-  if (p2 == px) goto escape;  
-  p1 = p2 + 1;
-
- escape:
-  jd = now.tm_mday - 32075 + (int)(1461*(1900 + now.tm_year + 4800 + (int)(((now.tm_mon+1)-14)/12))/4)
-    + (int)(367*((now.tm_mon+1) - 2 - (int)(((now.tm_mon+1) - 14)/12)*12)/12)
-    - (int)(3*(int)((1900 + now.tm_year + 4900 + (int)(((now.tm_mon+1) - 14)/12))/100)/4) - 0.5;
-  
-  second = (jd - 2440587.5)*86400 + 3600.0*now.tm_hour + now.tm_min*60.0 + now.tm_sec;
-
-  return (second);
-}
-
-/***** short date in format yymmdd *****/
-time_t short_date_to_sec (char *date) {
-  
-  time_t second;
-  double jd;
-  struct tm now;
-  
-  bzero (&now, sizeof(now));
-
-  sscanf (date, "%2d%2d%2d", &now.tm_year, &now.tm_mon, &now.tm_mday);
-
-  if (now.tm_year >   51) now.tm_year +=   0;
-  if (now.tm_year <   50) now.tm_year += 100;
-  now.tm_mon --; /* tm_mon runs from 0 - 11 */
-
-  jd = now.tm_mday - 32075 + (int)(1461*(1900 + now.tm_year + 4800 + (int)(((now.tm_mon+1)-14)/12))/4)
-    + (int)(367*((now.tm_mon+1) - 2 - (int)(((now.tm_mon+1) - 14)/12)*12)/12)
-    - (int)(3*(int)((1900 + now.tm_year + 4900 + (int)(((now.tm_mon+1) - 14)/12))/100)/4) - 0.5;
-  
-  second = (jd - 2440587.5)*86400 + 3600.0*now.tm_hour + now.tm_min*60.0 + now.tm_sec;
-
-  return (second);
-}
-
-/**********/
-int hms_to_deg (double *h0, double *h1, double *d0, double *d1, char *string) {
-  
-  int flag_d0, flag_d1, flag_h0, flag_h1;
-  double tmp;
-  
-  *d0 = *h0 = *d1 = *h1 = 0;
-
-  flag_h0 = dparse (h0, 1, string);
-  flag_h1 = dparse (h1, 4, string);
-  flag_d0 = dparse (d0, 7, string);
-  flag_d1 = dparse (d1, 9, string);
-  *h0 *= flag_h0;
-  *h1 *= flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  dparse (&tmp, 2, string);
-  *h0 += tmp/60.0;
-  dparse (&tmp, 3, string);
-  *h0 += tmp/3600.0;
-  
-  dparse (&tmp, 5, string);
-  *h1 += tmp/60.0;
-  dparse (&tmp, 6, string);
-  *h1 += tmp/3600.0;
-  
-  dparse (&tmp, 8, string);
-  *d0 += tmp/60.0;
-
-  dparse (&tmp, 10, string);
-  *d1 += tmp/60.0;
-
-  *h0 *= 15*flag_h0;
-  *h1 *= 15*flag_h1;
-  *d0 *= flag_d0;
-  *d1 *= flag_d1;
-
-  return (TRUE);
-}
-
-/* times may be in forms as:
- * 20040200450s (N seconds since 1970.0)
-   2440900.232j (julian date)
- * 99/02/23,03:22:18 (date string)
- * (separators may be anything except space, +, -)
- * 99:02:15:12:23:30
- * 99:02:15:12h23m30s
- */
Index: /trunk/Ohana/src/skycalc/Makefile
===================================================================
--- /trunk/Ohana/src/skycalc/Makefile	(revision 4809)
+++ /trunk/Ohana/src/skycalc/Makefile	(revision 4810)
@@ -27,5 +27,5 @@
 OBJ = 	$(SRC)/time.$(ARCH).o		$(SRC)/geometry.$(ARCH).o \
 	$(SRC)/astro.$(ARCH).o		$(SRC)/sun.$(ARCH).o \
-	$(SRC)/moon.$(ARCH).o		$(SRC)/misc.$(ARCH).o		
+	$(SRC)/moon.$(ARCH).o
 
 $(OBJ): $(INC)/skycalc.h $(INC)/skycalc_internal.h
