Index: /trunk/ippTools/src/detselect.c
===================================================================
--- /trunk/ippTools/src/detselect.c	(revision 9342)
+++ /trunk/ippTools/src/detselect.c	(revision 9343)
@@ -9,4 +9,5 @@
 
 static bool searchMode(pxConfig *config);
+static bool selectMode(pxConfig *config);
 
 # define MODECASE(caseName, func) \
@@ -25,4 +26,5 @@
     switch (config->mode) {
         MODECASE(DETSELECT_MODE_SEARCH,        searchMode);
+        MODECASE(DETSELECT_MODE_SELECT,        selectMode);
         default:
             psAbort(argv[0], "invalid option (this should not happen)");
@@ -104,2 +106,8 @@
 }
 
+static bool selectMode(pxConfig *config)
+{
+    PS_ASSERT_PTR_NON_NULL(config, false);
+
+    return true;
+}
Index: /trunk/ippTools/src/detselect.h
===================================================================
--- /trunk/ippTools/src/detselect.h	(revision 9342)
+++ /trunk/ippTools/src/detselect.h	(revision 9343)
@@ -7,4 +7,5 @@
     DETSELECT_MODE_NONE      = 0x0,
     DETSELECT_MODE_SEARCH,
+    DETSELECT_MODE_SELECT,
 } detselectMode;
 
Index: /trunk/ippTools/src/detselectConfig.c
===================================================================
--- /trunk/ippTools/src/detselectConfig.c	(revision 9342)
+++ /trunk/ippTools/src/detselectConfig.c	(revision 9343)
@@ -24,4 +24,26 @@
     // -search
     psMetadata *searchArgs = psMetadataAlloc();
+    // XXX date/time
+    psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-inst", 0,
+            "search by camera (required)", NULL);
+    psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-det_type", 0,
+            "search by detrend type (required)", NULL);
+    psMetadataAddStr(searchArgs, PS_LIST_TAIL, "-filter", 0,
+            "search by filter", NULL);
+    psMetadataAddF32(searchArgs, PS_LIST_TAIL, "-exp_time", 0,
+            "search by exposure time", NAN);
+    psMetadataAddF64(searchArgs, PS_LIST_TAIL, "-ccd_temp", 0,
+            "search by ccd tempature", NAN);
+    psMetadataAddF32(searchArgs, PS_LIST_TAIL, "-airmass", 0,
+            "define airmass", NAN);
+ 
+    // -select
+    psMetadata *selectArgs = psMetadataAlloc();
+    psMetadataAddStr(selectArgs, PS_LIST_TAIL, "-det_id", 0,
+            "search by detrend ID", NULL);
+    psMetadataAddS32(selectArgs, PS_LIST_TAIL, "-iteration", 0,
+            "search by iteration number", 0);
+    psMetadataAddStr(selectArgs, PS_LIST_TAIL, "-class_id", 0,
+            "search by class ID", NULL);
     
 #define PXTOOL_MODE(option, modeval, argset) \
@@ -45,5 +67,6 @@
     psMetadata *argSets = psMetadataAlloc();
     // find which mode we're running under
-    PXTOOL_MODE("-search", DETSELECT_MODE_SEARCH, searchArgs);
+    PXTOOL_MODE("-search",  DETSELECT_MODE_SEARCH, searchArgs);
+    PXTOOL_MODE("-selct",   DETSELECT_MODE_SELECT, selectArgs);
 
     bool argErr = false;
