Index: trunk/ippTools/src/dettool.c
===================================================================
--- trunk/ippTools/src/dettool.c	(revision 12418)
+++ trunk/ippTools/src/dettool.c	(revision 12422)
@@ -242,4 +242,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 workdir = psMetadataLookupStr(&status, config->args, "-workdir");
     if (!status) {
@@ -509,4 +519,5 @@
             mode,
             "run",
+            filelevel,
             workdir,
             camera,
@@ -661,4 +672,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 workdir = psMetadataLookupStr(&status, config->args, "-workdir");
     if (!status) {
@@ -1162,4 +1183,5 @@
             mode,
             "run",  // state
+            filelevel,
             workdir,
             camera,
@@ -1367,4 +1389,24 @@
         psFree(detRun->exp_type);
         detRun->exp_type = psStringCopy(exp_type);
+    }
+
+    psString filelevel = psMetadataLookupStr(&status, config->args, "-set_filelevel");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_filelevel");
+        return false;
+    }
+    if (filelevel) {
+        psFree(detRun->filelevel);
+        detRun->filelevel = psStringCopy(filelevel);
+    }
+
+    psString workdir = psMetadataLookupStr(&status, config->args, "-set_workdir");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_workdir");
+        return false;
+    }
+    if (workdir) {
+        psFree(detRun->workdir);
+        detRun->workdir = psStringCopy(workdir);
     }
 
@@ -6103,4 +6145,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 workdir = psMetadataLookupStr(&status, config->args, "-workdir");
     if (!status) {
@@ -6313,4 +6365,5 @@
             mode,
             "reg",      // state
+            filelevel,
             workdir,
             camera,
Index: trunk/ippTools/src/dettoolConfig.c
===================================================================
--- trunk/ippTools/src/dettoolConfig.c	(revision 12418)
+++ trunk/ippTools/src/dettoolConfig.c	(revision 12422)
@@ -72,4 +72,6 @@
     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-mode",  0,
             "define the mode of this detrend run", "master");
+    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-filelevel",  0,
+            "define filelevel (required)", NULL);
     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-workdir",  0,
             "define workdir (required)", NULL);
@@ -119,4 +121,6 @@
     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-mode",  0,
             "define the mode of this detrend run", "master");
+    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-filelevel",  0,
+            "define filelevel (required)", NULL);
     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-workdir",  0,
             "define workdir (required)", NULL);
@@ -200,4 +204,6 @@
     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_exp_type",  0,
             "define exposure type", NULL);
+    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_filelevel",  0,
+            "define filelevel", NULL);
     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_workdir",  0,
             "define workdir", NULL);
@@ -706,4 +712,6 @@
     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-mode",  0,
             "define the mode of this detrend run", "master");
+    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-filelvel",  0,
+            "define filelevel (required)", NULL);
     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-workdir",  0,
             "define workdir (required)", NULL);
