Index: branches/czw_branch/20110406/ippTools/src/difftool.c
===================================================================
--- branches/czw_branch/20110406/ippTools/src/difftool.c	(revision 31215)
+++ branches/czw_branch/20110406/ippTools/src/difftool.c	(revision 31253)
@@ -2967,4 +2967,6 @@
     pxAddLabelSearchArgs (config, where, "-data_group", "diffRun.data_group", "LIKE");
     pxAddLabelSearchArgs (config, where, "-dist_group", "diffRun.dist_group", "LIKE");
+
+    PXOPT_COPY_S64(config->args, where, "-template_exp_id", "rawTemplate.exp_id", "==");
     
     PXOPT_LOOKUP_BOOL(template, config->args, "-template", false);
Index: branches/czw_branch/20110406/ippTools/src/difftoolConfig.c
===================================================================
--- branches/czw_branch/20110406/ippTools/src/difftoolConfig.c	(revision 31215)
+++ branches/czw_branch/20110406/ippTools/src/difftoolConfig.c	(revision 31253)
@@ -182,4 +182,5 @@
     psMetadataAddTime(listrunArgs, PS_LIST_TAIL, "-dateobs_end", 0,      "search for exposures by time (<=)", NULL);
     psMetadataAddStr(listrunArgs, PS_LIST_TAIL,  "-filter", 0,           "search for filter", NULL);
+    psMetadataAddS64(listrunArgs, PS_LIST_TAIL,  "-template_exp_id",  0, "search by exposure ID of template", 0);
     psMetadataAddStr(listrunArgs,  PS_LIST_TAIL, "-label",  PS_META_DUPLICATE_OK, "search by diffRun label (LIKE comparison)", NULL);
     psMetadataAddStr(listrunArgs,  PS_LIST_TAIL, "-data_group",  PS_META_DUPLICATE_OK, "search by diffRun data_group (LIKE comparison)", NULL);
Index: branches/czw_branch/20110406/ippTools/src/stacktool.c
===================================================================
--- branches/czw_branch/20110406/ippTools/src/stacktool.c	(revision 31215)
+++ branches/czw_branch/20110406/ippTools/src/stacktool.c	(revision 31253)
@@ -243,5 +243,5 @@
     PXOPT_COPY_STR(config->args,  where, "-select_exp_type",           "rawExp.exp_type", "==");
     PXOPT_COPY_F32(config->args,  where, "-select_good_frac_min",      "warpSkyfile.good_frac", ">=");
-    PXOPT_COPY_STR(config->args,  where, "-select_skycell_id",         "warpSkyfile.skycell_id", "==");
+    PXOPT_COPY_STR(config->args,  where, "-select_skycell_id",         "warpSkyfile.skycell_id", "LIKE");
     PXOPT_COPY_STR(config->args,  where, "-select_data_group",         "warpRun.data_group", "==");
     pxAddLabelSearchArgs (config, where, "-select_label",              "warpRun.label", "LIKE"); // define using warp label
Index: branches/czw_branch/20110406/ippTools/src/staticskytool.c
===================================================================
--- branches/czw_branch/20110406/ippTools/src/staticskytool.c	(revision 31215)
+++ branches/czw_branch/20110406/ippTools/src/staticskytool.c	(revision 31253)
@@ -123,9 +123,4 @@
     psAssert (filters->data.list->n, "-select_filter should at least have a place-holder");
     int num_filter = filters->data.list->n;
-    if (num_filter < 2) {
-        psError(PXTOOLS_ERR_CONFIG, false, "invalid request: only 1 filter selected");
-        psFree(whereMD);
-        return false;
-    }
 
     PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
Index: branches/czw_branch/20110406/ippTools/src/staticskytoolConfig.c
===================================================================
--- branches/czw_branch/20110406/ippTools/src/staticskytoolConfig.c	(revision 31215)
+++ branches/czw_branch/20110406/ippTools/src/staticskytoolConfig.c	(revision 31253)
@@ -52,5 +52,5 @@
     psMetadataAddF32(definebyqueryArgs,  PS_LIST_TAIL, "-select_good_frac_min", 0, "define min good_frac", 0.0);
     psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-select_label", PS_META_DUPLICATE_OK, "search by stackRun label (LIKE comparison, multiple OK)", NULL);
-    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-select_filter", PS_META_DUPLICATE_OK, "search by filter (LIKE comparison, multiple required)", NULL);
+    psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-select_filter", PS_META_DUPLICATE_OK, "search by filter (LIKE comparison, multiplei OK)", NULL);
     psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-set_workdir", 0, "define workdir (required)", NULL);
     psMetadataAddStr(definebyqueryArgs,  PS_LIST_TAIL, "-set_label", 0, "define label", NULL);
