Index: /trunk/Ohana/src/imregister/detrend/args.detsearch.c
===================================================================
--- /trunk/Ohana/src/imregister/detrend/args.detsearch.c	(revision 72)
+++ /trunk/Ohana/src/imregister/detrend/args.detsearch.c	(revision 73)
@@ -266,8 +266,22 @@
   }
  
+  output.Altpath = FALSE;
+  if (N = get_argument (argc, argv, "-altpath")) {
+    if (output.Delete) {
+      fprintf (stderr, "can't combine -delete and -altpath flags\n");
+      exit (1);
+    }
+    remove_argument (N, &argc, argv);
+    output.Altpath = TRUE;
+  }
+
   output.Modify = FALSE;
   if (N = get_argument (argc, argv, "-modify")) {
     if (output.Delete) {
       fprintf (stderr, "can't combine -delete and -modify flags\n");
+      exit (1);
+    }
+    if (output.Altpath) {
+      fprintf (stderr, "can't combine -altpath and -modify flags\n");
       exit (1);
     }
Index: /trunk/Ohana/src/imregister/detrend/define.c
===================================================================
--- /trunk/Ohana/src/imregister/detrend/define.c	(revision 72)
+++ /trunk/Ohana/src/imregister/detrend/define.c	(revision 73)
@@ -24,5 +24,6 @@
     fits_define_bintable_column (theader, "J",    "ORDER",      "selection order",           "",                              1.0, 0.0);
     fits_define_bintable_column (theader, "A",    "MODE",       "image mode",                "",                              1.0, 0.0);
-    fits_define_bintable_column (theader, "59A",  "RESERVED",   "space for additions",       "",                              1.0, 0.0);
+    fits_define_bintable_column (theader, "A",    "ALTPATH",    "available on alt db paths", "",                              1.0, 0.0);
+    fits_define_bintable_column (theader, "58A",  "RESERVED",   "space for additions",       "",                              1.0, 0.0);
     fits_define_bintable_column (theader, "64A",  "LABEL",      "data label",                "",                              1.0, 0.0);
     fits_define_bintable_column (theader, "256A", "PATH",       "filename in db",            "",                              1.0, 0.0);
@@ -33,2 +34,7 @@
     return (TRUE);
 }
+
+/* changes to this file must also be reflected in 
+   loneos.h.  changes the float or int entries 
+   must also be added to libohana/src/Fread.c
+*/
Index: /trunk/Ohana/src/imregister/detrend/imdef.c
===================================================================
--- /trunk/Ohana/src/imregister/detrend/imdef.c	(revision 72)
+++ /trunk/Ohana/src/imregister/detrend/imdef.c	(revision 73)
@@ -52,5 +52,5 @@
 
   /* identify MODE (MEF / SPLIT)  */
-  descriptor[0].mode = MODE_SPLIT;
+  descriptor[0].mode = M_SPLIT;
   Extend = FALSE;
   fits_scan (&header, "EXTEND", "%t", 1, &Extend);
Index: /trunk/Ohana/src/imregister/detrend/output.c
===================================================================
--- /trunk/Ohana/src/imregister/detrend/output.c	(revision 72)
+++ /trunk/Ohana/src/imregister/detrend/output.c	(revision 73)
@@ -1,4 +1,7 @@
 # include "imregister.h"
 # include "detrend.h"
+
+char *RandomPath (char *dBPath);
+extern double drand48();
 
 int OutputSubset (Match *match, int Nmatch) {
@@ -180,7 +183,13 @@
 int PrintSubset (DetReg *detdata, Match *match, int Nmatch) {
   
-  char *dBPath, *typestr, *filtstr, filename[128];
+  char *dBPath, *Path, *typestr, *filtstr, filename[128];
   char *timestr, *modestr, *ccdstr, ccdinfo[16], ccdformat[16];
   int i, j, Nc;
+  struct timeval now;
+  long A;
+
+  gettimeofday (&now, NULL);
+  A = now.tv_usec + now.tv_sec;
+  srand48 (A);
 
   Nc = strlen (ccds[0]);
@@ -225,13 +234,27 @@
 
     if (output.Select) {
-      fprintf (stdout, "%s/%s\n", dBPath, filename);
-    } else {
-      fprintf (stdout, "%-40s = %19s %7s %6s %6s %s %2d %2d %6.1f  %20s\n", 
+      if (detdata[i].altpath) {
+	Path = RandomPath (dBPath);
+      } else {
+	Path = dBPath;
+      }
+      fprintf (stdout, "%s/%s\n", Path, filename);
+    } else {
+      fprintf (stdout, "%-40s = %19s %7s %6s %6s %s %2d %2d %6.1f  %20s  %1d\n", 
 	       filename, timestr, modestr, typestr, filtstr, ccdstr,
-	       detdata[i].Nentry, detdata[i].Norder, detdata[i].exptime, detdata[i].label);
+	       detdata[i].Nentry, detdata[i].Norder, detdata[i].exptime, detdata[i].label, detdata[i].altpath);
     }
     free (timestr);
   }  
   return (TRUE);
+}
+
+char *RandomPath (char *dBPath) {
+  
+  int N;
+
+  N = (NDetrendAltDB + 0.99)*drand48();
+  if (N == NDetrendAltDB) return (dBPath);
+  return (DetrendAltDB[N]);
 }
 
