Index: trunk/ippTools/src/detselectConfig.c
===================================================================
--- trunk/ippTools/src/detselectConfig.c	(revision 9403)
+++ trunk/ippTools/src/detselectConfig.c	(revision 9752)
@@ -56,4 +56,8 @@
     psMetadataAddF32(searchArgs, PS_LIST_TAIL, "-airmass", 0,
             "define airmass", NAN);
+    psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-use_begin", 0,
+            "define start (>=) of detrend validity peroid", NULL);
+    psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-use_end", 0,
+            "define end (< of detrend validity peroid", NULL);
     psMetadataAddBool(searchArgs, PS_LIST_TAIL, "-simple",  0,
             "use the simple output format", false);
@@ -136,4 +140,5 @@
     } \
 }
+
 #define addWhereS32(name) \
 { \
@@ -173,4 +178,28 @@
             } \
         } \
+    } \
+}
+
+#define addWhereTimeStr(name) \
+{ \
+    psString str = NULL; \
+    bool status = false; \
+    if ((str = psMetadataLookupStr(&status, config->args, "-" #name))) { \
+        psTime *time = psTimeFromISO(str, PS_TIME_UTC); \
+        if (!time) { \
+            psError(PS_ERR_UNKNOWN, false, "failed to convert " #name " into a psTime object"); \
+            goto FAIL; \
+        } \
+        psMetadataItem *item = psMetadataLookup(config->args, "-" #name); \
+        if (item) { \
+            str = item->comment; \
+        } else { \
+            str = NULL; \
+        } \
+        if (!psMetadataAddTime(config->where, PS_LIST_TAIL, #name, 0, str, time)) {\
+            psError(PS_ERR_UNKNOWN, false, "failed to add item " #name); \
+            goto FAIL; \
+        } \
+        psFree(time); \
     } \
 }
@@ -202,4 +231,6 @@
     addWhereF64(ccd_temp);
     addWhereF32(airmass);
+    addWhereTimeStr(use_begin);
+    addWhereTimeStr(use_end);
 
     if (config->where->list->n < 1) {
@@ -220,5 +251,4 @@
     config->argc = argc;
 
-
     return config;
 
