Index: /trunk/ippTools/configure.ac
===================================================================
--- /trunk/ippTools/configure.ac	(revision 12258)
+++ /trunk/ippTools/configure.ac	(revision 12259)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.59)
 
-AC_INIT([ipptools], [1.1.15], [ipp-support@ifa.hawaii.edu])
+AC_INIT([ipptools], [1.1.16], [ipp-support@ifa.hawaii.edu])
 AC_CONFIG_SRCDIR([autogen.sh])
 
@@ -18,5 +18,5 @@
 PKG_CHECK_MODULES([PSLIB], [pslib >= 1.1.0])
 PKG_CHECK_MODULES([PSMODULES], [psmodules >= 1.1.0])
-PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.15]) 
+PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.16]) 
 
 PXTOOLS_CFLAGS="${PSLIB_CFLAGS=} ${PSMODULES_CFLAGS=} ${IPPDB_CFLAGS=}"
Index: /trunk/ippTools/scripts/regtest.sh
===================================================================
--- /trunk/ippTools/scripts/regtest.sh	(revision 12258)
+++ /trunk/ippTools/scripts/regtest.sh	(revision 12259)
@@ -23,18 +23,18 @@
 
 for ID in `seq 0 3`; do
-    $regtool -addprocessedimfile -exp_tag $exp_tag1 -class OTA -class_id $ID -filter r -airmass 10 -ra 1 -decl 2 -exp_time 0 -bg 1 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 10 -posang 10 -object dog -dateobs 2006-10-20T10:10:10Z || exit 1
+    $regtool -addprocessedimfile -exp_tag $exp_tag1 -class_id $ID -filter r -airmass 10 -ra 1 -decl 2 -exp_time 0 -bg 1 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 10 -posang 10 -object dog -dateobs 2006-10-20T10:10:10Z || exit 1
 done;
 
 $regtool -pendingexp|| exit 1
 
-$regtool -addprocessedexp -exp_tag $exp_tag1 -filter r -airmass 10 -ra 1 -decl 2 -exp_type bias -exp_time 0 -bg 10 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 45 -posang 10 -object dog -dateobs "2006-10-20T10:10:10Z" -label foobar $* || exit 1
+$regtool -addprocessedexp -exp_tag $exp_tag1 -filelevel OTA -filter r -airmass 10 -ra 1 -decl 2 -exp_type bias -exp_time 0 -bg 10 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 45 -posang 10 -object dog -dateobs "2006-10-20T10:10:10Z" -label foobar $* || exit 1
 
 $regtool -pendingimfile || exit 1
 
 for ID in `seq 0 3`; do
-    $regtool -addprocessedimfile -exp_tag $exp_tag2 -exp_type object -class OTA -class_id $ID -filter r -airmass 10 -ra 1 -decl 2 -exp_time 0 -bg 1 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 10 -posang 10 -object dog -dateobs 2006-10-20T10:10:10Z || exit 1
+    $regtool -addprocessedimfile -exp_tag $exp_tag2 -exp_type object -class_id $ID -filter r -airmass 10 -ra 1 -decl 2 -exp_time 0 -bg 1 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 10 -posang 10 -object dog -dateobs 2006-10-20T10:10:10Z || exit 1
 done;
 
 $regtool -pendingexp|| exit 1
 
-$regtool -addprocessedexp -exp_tag $exp_tag2 -filter r -airmass 11 -ra 1 -decl 2 -exp_type bias -exp_time 0 -bg 11 -bg_stdev 1 -bg_mean_stdev 11 -alt 11 -az 11 -ccd_temp 45 -posang 11 -object dog -dateobs 2006-10-20T10:10:10Z -label foobar $* || exit 1
+$regtool -addprocessedexp -exp_tag $exp_tag2 -filelevel OTA -filter r -airmass 11 -ra 1 -decl 2 -exp_type bias -exp_time 0 -bg 11 -bg_stdev 1 -bg_mean_stdev 11 -alt 11 -az 11 -ccd_temp 45 -posang 11 -object dog -dateobs 2006-10-20T10:10:10Z -label foobar $* || exit 1
Index: /trunk/ippTools/share/Makefile.am
===================================================================
--- /trunk/ippTools/share/Makefile.am	(revision 12258)
+++ /trunk/ippTools/share/Makefile.am	(revision 12259)
@@ -11,4 +11,6 @@
 	chiptool_queuerawexp.sql \
 	chiptool_queuerawimfile.sql \
+	detselect_search.sql \
+	detselect_select.sql \
 	regtool_find_unprocessed_exp.sql \
 	regtool_find_unprocessed_imfile.sql \
@@ -18,2 +20,3 @@
 	regtool_processedimfile.sql \
 	warptool_tooverlap.sql
+
Index: /trunk/ippTools/share/camtool_find_pendingexp.sql
===================================================================
--- /trunk/ippTools/share/camtool_find_pendingexp.sql	(revision 12258)
+++ /trunk/ippTools/share/camtool_find_pendingexp.sql	(revision 12259)
@@ -7,5 +7,6 @@
     rawExp.exp_id,
     rawExp.camera,
-    rawExp.telescope
+    rawExp.telescope,
+    rawExp.filelevel
 FROM camPendingExp
 JOIN chipProcessedExp
Index: /trunk/ippTools/share/camtool_find_pendingimfile.sql
===================================================================
--- /trunk/ippTools/share/camtool_find_pendingimfile.sql	(revision 12258)
+++ /trunk/ippTools/share/camtool_find_pendingimfile.sql	(revision 12259)
@@ -14,5 +14,6 @@
         rawExp.exp_id,
         rawExp.camera,
-        rawExp.telescope
+        rawExp.telescope,
+        rawExp.filelevel
     FROM camPendingExp
     JOIN chipProcessedExp
Index: /trunk/ippTools/share/camtool_find_processedexp.sql
===================================================================
--- /trunk/ippTools/share/camtool_find_processedexp.sql	(revision 12258)
+++ /trunk/ippTools/share/camtool_find_processedexp.sql	(revision 12259)
@@ -1,6 +1,8 @@
 SELECT
     camProcessedExp.*,
+    rawExp.exp_id,
     rawExp.camera,
-    rawExp.workdir
+    rawExp.telescope,
+    rawExp.filelevel
 FROM camProcessedExp
 JOIN chipProcessedExp
Index: /trunk/ippTools/share/chiptool_pendingimfile.sql
===================================================================
--- /trunk/ippTools/share/chiptool_pendingimfile.sql	(revision 12258)
+++ /trunk/ippTools/share/chiptool_pendingimfile.sql	(revision 12259)
@@ -5,5 +5,6 @@
     rawExp.exp_id,
     rawExp.camera,
-    rawExp.telescope
+    rawExp.telescope,
+    rawExp.filelevel
 FROM chipPendingImfile
 JOIN chipPendingExp
Index: /trunk/ippTools/share/chiptool_processedimfile.sql
===================================================================
--- /trunk/ippTools/share/chiptool_processedimfile.sql	(revision 12258)
+++ /trunk/ippTools/share/chiptool_processedimfile.sql	(revision 12259)
@@ -9,5 +9,6 @@
     rawExp.exp_id,
     rawExp.camera,
-    rawExp.telescope
+    rawExp.telescope,
+    rawExp.filelevel
 FROM chipProcessedImfile
 JOIN chipProcessedExp
Index: /trunk/ippTools/share/detselect_search.sql
===================================================================
--- /trunk/ippTools/share/detselect_search.sql	(revision 12259)
+++ /trunk/ippTools/share/detselect_search.sql	(revision 12259)
@@ -0,0 +1,15 @@
+SELECT DISTINCT
+    detRunSummary.det_id,
+    detRunSummary.iteration
+    rawExp.filelevel
+FROM detRun
+JOIN detRunSummary
+    USING(det_id)
+JOIN detInputExp
+    USING(det_id)
+JOIN rawExp
+    ON detInputExp.exp_tag = rawExp.exp_tag
+WHERE
+    detRun.state = 'stop'
+   AND detRun.mode  = 'master'
+   AND detRunSummary.accept = 1
Index: /trunk/ippTools/share/detselect_select.sql
===================================================================
--- /trunk/ippTools/share/detselect_select.sql	(revision 12259)
+++ /trunk/ippTools/share/detselect_select.sql	(revision 12259)
@@ -0,0 +1,12 @@
+SELECT DISTINCT
+    detNormalizedImfile.*
+FROM detNormalizedImfile
+JOIN detRun
+    USING(det_id)
+JOIN detRunSummary
+    ON detNormalizedImfile.det_id = detRunSummary.det_id
+    AND detNormalizedImfile.iteration = detRunSummary.iteration
+WHERE
+    detRun.state = 'stop'
+    AND detRun.mode  = 'master'
+    AND detRunSummary.accept = 1
Index: /trunk/ippTools/share/regtool_processedimfile.sql
===================================================================
--- /trunk/ippTools/share/regtool_processedimfile.sql	(revision 12258)
+++ /trunk/ippTools/share/regtool_processedimfile.sql	(revision 12259)
@@ -1,5 +1,12 @@
 SELECT
-    *
+    rawImfile.*
+    rawExp.exp_id,
+    rawExp.camera,
+    rawExp.telescope,
+    rawExp.filelevel,
+    rawExp.workdir
 FROM rawImfile
+JOIN rawExp
+    USING(exp_tag)
 -- bogus conditional so there is a where clause to append to
 WHERE rawImfile.exp_tag is NOT NULL
Index: /trunk/ippTools/src/detselect.c
===================================================================
--- /trunk/ippTools/src/detselect.c	(revision 12258)
+++ /trunk/ippTools/src/detselect.c	(revision 12259)
@@ -168,16 +168,9 @@
     }
 
-    psString query = psStringCopy(
-        "SELECT DISTINCT"
-        "   detRunSummary.det_id,"
-        "   detRunSummary.iteration"
-        " FROM detRun"
-        " JOIN detRunSummary"
-        "   USING(det_id)"
-        " WHERE"
-        "   detRun.state = 'stop'"
-        "   AND detRun.mode  = 'master'"
-        "   AND detRunSummary.accept = 1" 
-    );
+    psString query = pxDataGet("detselect_search.sql");
+    if (!query) {
+        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        return false;
+    }
 
     if (config->where) {
@@ -246,18 +239,10 @@
     PS_ASSERT_PTR_NON_NULL(config, false);
 
-    psString query = psStringCopy(
-        "SELECT DISTINCT"
-        "   detNormalizedImfile.*"
-        " FROM detNormalizedImfile"
-        " JOIN detRun"
-        "   USING(det_id)"
-        " JOIN detRunSummary"
-        "   ON detNormalizedImfile.det_id = detRunSummary.det_id"
-        "   AND detNormalizedImfile.iteration = detRunSummary.iteration"
-        " WHERE"
-        "   detRun.state = 'stop'"
-        "   AND detRun.mode  = 'master'"
-        "   AND detRunSummary.accept = 1" 
-    );
+    psString query = pxDataGet("detselect_select.sql");
+    if (!query) {
+        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        return false;
+    }
+
 
     if (config->where) {
Index: /trunk/ippTools/src/regtool.c
===================================================================
--- /trunk/ippTools/src/regtool.c	(revision 12258)
+++ /trunk/ippTools/src/regtool.c	(revision 12259)
@@ -203,18 +203,5 @@
             }
         }
-        psString class = psMetadataLookupStr(&status, config->args, "-class");
-        if (!status) {
-            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -class");
-            psFree(query);
-            return false;
-        }
-        if (class) {
-            if (!psMetadataAddStr(where, PS_LIST_TAIL, "class", 0, "==", class)) {
-                psError(PS_ERR_UNKNOWN, false, "failed to add item class");
-                psFree(where);
-                psFree(query);
-                return false;
-            }
-        }
+
         psString class_id = psMetadataLookupStr(&status, config->args, "-class_id");
         if (!status) {
@@ -855,4 +842,14 @@
     }
 
+    psString filelevel = psMetadataLookupStr(&status, config->args, "-filelevel");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -filelevel");
+        return false;
+    }
+    if (!filelevel) {
+        psError(PS_ERR_UNKNOWN, true, "-filelevel is required");
+        return false;
+    }
+
     psString filter = psMetadataLookupStr(&status, config->args, "-filter");
     if (!status) {
@@ -932,4 +929,5 @@
         return false;
     }
+
     psTime *dateobs = NULL;
     {
@@ -962,4 +960,5 @@
         exp_type,
         exp->imfiles,
+        filelevel,
         exp->workdir,
         filter,
@@ -1102,5 +1101,4 @@
     rawImfileRow *raw = rawImfileRowAlloc(
         imfile->exp_tag,
-        imfile->class,
         imfile->class_id,
         imfile->uri,
Index: /trunk/ippTools/src/regtoolConfig.c
===================================================================
--- /trunk/ippTools/src/regtoolConfig.c	(revision 12258)
+++ /trunk/ippTools/src/regtoolConfig.c	(revision 12259)
@@ -60,9 +60,7 @@
     psMetadata *addprocessedimfileArgs = psMetadataAlloc();
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
-        "search by exposure ID", NULL);
-    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class",  0,
-        "search by class", NULL);
+        "define exposure ID", NULL);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
-        "search by class ID", NULL);
+        "define class ID", NULL);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_type",  0,
         "define exposure type", NULL);
@@ -102,6 +100,4 @@
     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
         "search by exposure ID", NULL);
-    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class",  0,
-        "search by class", NULL);
     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
         "search by class ID", NULL);
@@ -117,6 +113,4 @@
     psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
         "search by exposure ID", NULL);
-    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class",  0,
-        "search by class", NULL);
     psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
         "search by class ID", NULL);
@@ -148,4 +142,8 @@
     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-exp_type",  0,
         "define exposure type", NULL);
+    psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-filelevel",  0,
+        "define the data partitioning level of this file", NULL);
+    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-workdir",  0,
+        "define the \"default\" workdir for this exposure", NULL);
     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-filter",  0,
         "define filter ", NULL);
