Index: trunk/ippTools/src/dettool.c
===================================================================
--- trunk/ippTools/src/dettool.c	(revision 11110)
+++ trunk/ippTools/src/dettool.c	(revision 11138)
@@ -234,4 +234,14 @@
     }
 
+    psString workdir = psMetadataLookupStr(&status, config->args, "-workdir");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -workdir");
+        return false;
+    }
+    if (!workdir) {
+        psError(PS_ERR_UNKNOWN, true, "-workdir is required");
+        return false;
+    }
+
     // optional
     psString mode = psMetadataLookupStr(&status, config->args, "-mode");
@@ -421,4 +431,5 @@
             "run",
             exp_type,
+            workdir,
             filter,
             airmass,
@@ -551,4 +562,14 @@
     if (!det_type) {
         psError(PS_ERR_UNKNOWN, true, "-det_type is required");
+        return false;
+    }
+
+    psString workdir = psMetadataLookupStr(&status, config->args, "-workdir");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -workdir");
+        return false;
+    }
+    if (!workdir) {
+        psError(PS_ERR_UNKNOWN, true, "-workdir is required");
         return false;
     }
@@ -859,4 +880,5 @@
             "run",
             exp_type,
+            workdir,
             filter,
             airmass,
@@ -1493,4 +1515,5 @@
             "   detRun.det_id,"
             "   detRun.det_type,"
+            "   detRun.workdir,"
             "   rawImfile.*,"
             "   rawExp.camera"
@@ -1791,5 +1814,6 @@
         "    det_type,"
         "    exp_tag,"
-        "    camera"
+        "    camera,"
+        "    workdir"
         " FROM"
         " (SELECT DISTINCT"
@@ -1797,4 +1821,5 @@
         "    detRun.iteration,"
         "    detRun.det_type,"
+        "    detRun.workdir,"
         "    detProcessedImfile.exp_tag,"
         "    rawExp.camera,"
@@ -2158,4 +2183,5 @@
         "    detRun.iteration,"
         "    detRun.det_type,"
+        "    detRun.workdir,"
         "    detProcessedImfile.class_id,"
         "    rawExp.camera"
@@ -2619,5 +2645,6 @@
         "   det_type,"
         "   iteration,"
-        "   camera"
+        "   camera,"
+        "   workdir"
         " FROM"
         "(SELECT DISTINCT"
@@ -2625,4 +2652,5 @@
         "   detRun.det_type,"
         "   detRun.iteration,"
+        "   detRun.workdir,"
         "   rawExp.camera,"
         "   rawExp.imfiles,"
@@ -2850,4 +2878,5 @@
         "SELECT DISTINCT"
         "   detRun.det_type,"
+        "   detRun.workdir,"
         "   rawExp.camera,"
         "   detStackedImfile.uri,"
@@ -3180,4 +3209,5 @@
         "    detRun.iteration,"
         "    detRun.det_type,"
+        "    detRun.workdir,"
         "    rawExp.camera,"
         "    rawExp.telescope,"
@@ -3618,4 +3648,5 @@
         "   detRun.det_type,\n"
         "   detRun.mode,\n"
+        "   detRun.workdir,\n"
         "   detProcessedImfile.exp_tag,\n"
         "   detProcessedImfile.class_id,\n"
@@ -3653,4 +3684,5 @@
         "   detRun.det_type,\n"
         "   detRun.mode,\n"
+        "   detRun.workdir,\n"
         "   rawImfile.exp_tag,\n"
         "   rawImfile.class_id,\n"
@@ -4264,4 +4296,5 @@
         "   include,\n"
         "   camera\n"
+        "   workdir\n"
         " FROM\n"
         "   (SELECT DISTINCT\n"
@@ -4270,4 +4303,5 @@
         "       detRun.det_type,\n"
         "       detRun.mode,\n"
+        "       detRun.workdir,\n"
         "       detInputExp.exp_tag,\n"
         "       detInputExp.include,\n"
@@ -5704,4 +5738,14 @@
     }
 
+    psString workdir = psMetadataLookupStr(&status, config->args, "-workdir");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -workdir");
+        return false;
+    }
+    if (!workdir) {
+        psError(PS_ERR_UNKNOWN, true, "-workdir is required");
+        return false;
+    }
+
     // everything else is optional
     psString mode = psMetadataLookupStr(&status, config->args, "-mode");
@@ -5833,4 +5877,5 @@
             "reg",
             exp_type,
+            workdir,
             filter,
             airmass,
