Index: trunk/ippTools/src/dettoolConfig.c
===================================================================
--- trunk/ippTools/src/dettoolConfig.c	(revision 7422)
+++ trunk/ippTools/src/dettoolConfig.c	(revision 7423)
@@ -243,4 +243,11 @@
     psMetadataAddS32(masterArgs, PS_LIST_TAIL, "-iteration",  0,
         "search for detrend master for detrend ID", 0);
+ 
+    // -rerun
+    psMetadata *rerunArgs = psMetadataAlloc();
+    psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-det_id",  0,
+        "search for detrend master for detrend ID (required)", NULL);
+    psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-exp_id",  PS_META_DUPLICATE_OK,
+        "include this exposure (multiple OK, required)", NULL);
 
 #define PXTOOL_MODE(option, modeval, argset) \
@@ -283,4 +290,5 @@
     PXTOOL_MODE("-masterframe",     DETTOOL_MODE_MASTERFRAME,  masterframeArgs);
     PXTOOL_MODE("-master",          DETTOOL_MODE_MASTER,        masterArgs);
+    PXTOOL_MODE("-rerun",           DETTOOL_MODE_RERUN,         rerunArgs);
 
 bool argErr = false;
@@ -296,5 +304,5 @@
         printf("\nPan-STARRS Detrend Tool\n");
         printf("Usage: %s <mode> [<options>]\n\n", argv[0]);
-        printf(" <mode> : [-define|-raw|-addprocessed|-processed|-addstacked|-stacked|-stackedframe|-addnormalized|-normalized|-normalizedframe|-addresid|-resid|-addresidexp|-residexp|-declaremasterframe|-masterframe|-master]\n\n");
+        printf(" <mode> : [-define|-raw|-addprocessed|-processed|-addstacked|-stacked|-stackedframe|-addnormalized|-normalized|-normalizedframe|-addresid|-resid|-addresidexp|-residexp|-declaremasterframe|-masterframe|-master|-rerun]\n\n");
         fprintf (stdout, "-define ");
         psArgumentHelp(defineArgs);
@@ -354,4 +362,7 @@
         psArgumentHelp(masterArgs);
         psFree(masterArgs);
+        fprintf (stdout, "-rerun ");
+        psArgumentHelp(rerunArgs);
+        psFree(rerunArgs);
 
         exit(EXIT_FAILURE);
@@ -375,4 +386,5 @@
     psFree(masterframeArgs);
     psFree(masterArgs);
+    psFree(rerunArgs);
 
     // setup search criterion
@@ -395,4 +407,10 @@
 
     addWhereStr(det_id);
+    if ((n = psMetadataLookupS32(&status, config->args, "-iteration"))) {
+        if (!psMetadataAddS32(config->where, PS_LIST_TAIL, "iteration", 0, "==", n)) {
+            psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
+            exit(EXIT_FAILURE);
+        }
+    }
     addWhereStr(det_type);
     addWhereStr(exp_id);
