Index: /tags/ipp-20170121/ippTools/src/pzgetexp.c
===================================================================
--- /tags/ipp-20170121/ippTools/src/pzgetexp.c	(revision 40136)
+++ /tags/ipp-20170121/ippTools/src/pzgetexp.c	(revision 40137)
@@ -77,12 +77,16 @@
     PXOPT_LOOKUP_S32(timeout, config->args, "-timeout", false, false);
     PXOPT_LOOKUP_BOOL(all, config->args, "-all", false);
-
+    PXOPT_LOOKUP_STR(myLastFileSet, config->args, "-last-fileset", false, false);
+    
     // find last fileset/exp_name (if we have one)
     bool haveLastFileSet = false;
     psString lastFileSet = NULL;
 
+    // fprintf (stderr, "myLastFileSet %s.. (%d)\n", myLastFileSet, myLastFileSet[0]);
+    // if -last-fileset is not supplied, myLastFileSet is NOT NULL, but myLastFileSet[0] = 0
+
     // -all means "request all known filesets"
-    if (!all) {
-        char *query = "SELECT * from summitExp WHERE camera = \"%s\" and TELESCOPE = \"%s\" ORDER BY dateobs DESC LIMIT 1";
+    if (!all && !myLastFileSet[0]) {
+        char *query = "SELECT * from summitExp WHERE camera = \"%s\" and TELESCOPE = \"%s\" ORDER BY dateobs DESC LIMIT 10";
         if (!p_psDBRunQueryF(config->dbh, query, camera, telescope)) {
             psError(PS_ERR_UNKNOWN, false, "database error");
@@ -102,7 +106,13 @@
             haveLastFileSet = true;
             bool status = false;
-            lastFileSet = psStringCopy(psMetadataLookupStr(&status, output->data[0], "exp_name"));
+	    long Nlast = psArrayLength(output);
+            lastFileSet = psStringCopy(psMetadataLookupStr(&status, output->data[Nlast - 1], "exp_name"));
             psFree(output);
         }
+    }
+
+    if (myLastFileSet && myLastFileSet[0]) {
+      haveLastFileSet = true;
+      lastFileSet = psStringCopy(myLastFileSet);
     }
 
@@ -121,4 +131,5 @@
     }
 
+    // fprintf (stderr, "pzgetexp: cmd is: %s\n", cmd);
     psTrace("pzgetexp", PS_LOG_INFO, "cmd is: %s\n", cmd);
 
@@ -145,4 +156,6 @@
         return true;
     }
+
+    // fprintf (stderr, "Number of newSummitExps: %d\n", (int) psArrayLength(newSummitExps));
 
     // start a transaction so it's all rows or nothing
Index: /tags/ipp-20170121/ippTools/src/pzgetexpConfig.c
===================================================================
--- /tags/ipp-20170121/ippTools/src/pzgetexpConfig.c	(revision 40136)
+++ /tags/ipp-20170121/ippTools/src/pzgetexpConfig.c	(revision 40137)
@@ -45,15 +45,10 @@
 
     psMetadata *args = psMetadataAlloc();
-    psMetadataAddStr(args , PS_LIST_TAIL, "-uri", 0,
-        "DataStore product URI (required)", "");
-    psMetadataAddStr(args , PS_LIST_TAIL, "-inst", 0,
-        "camera name (required)", "");
-    psMetadataAddStr(args , PS_LIST_TAIL, "-telescope",  0,
-        "telescope name (required)", "");
-    psMetadataAddS32(args, PS_LIST_TAIL, "-timeout",  0,
-        "HTTP timeout", 0);
-    psMetadataAddBool(args, PS_LIST_TAIL, "-all",  0,
-        "download ALL filesets", 0);
-
+    psMetadataAddStr(args , PS_LIST_TAIL, "-uri",          0, "DataStore product URI (required)", "");
+    psMetadataAddStr(args , PS_LIST_TAIL, "-inst",         0, "camera name (required)", "");
+    psMetadataAddStr(args , PS_LIST_TAIL, "-telescope",    0, "telescope name (required)", "");
+    psMetadataAddS32(args, PS_LIST_TAIL, "-timeout",       0, "HTTP timeout", 0);
+    psMetadataAddBool(args, PS_LIST_TAIL, "-all",          0, "download ALL filesets", 0);
+    psMetadataAddStr(args , PS_LIST_TAIL, "-last-fileset", 0, "Manually supply the last fileset (alternate starting point)", "");
 
     bool status = false;
