Index: /branches/eam_branches/ipp-20211108/ippTools/share/Makefile.am
===================================================================
--- /branches/eam_branches/ipp-20211108/ippTools/share/Makefile.am	(revision 42052)
+++ /branches/eam_branches/ipp-20211108/ippTools/share/Makefile.am	(revision 42053)
@@ -421,4 +421,5 @@
 	stacktool_sassskyfile.sql \
 	stacktool_tosum.sql \
+	stacktool_tosum_allstates.sql \
 	stacktool_tobkg.sql \
 	stacktool_tosummary.sql \
Index: /branches/eam_branches/ipp-20211108/ippTools/share/stacktool_tosum_allstates.sql
===================================================================
--- /branches/eam_branches/ipp-20211108/ippTools/share/stacktool_tosum_allstates.sql	(revision 42053)
+++ /branches/eam_branches/ipp-20211108/ippTools/share/stacktool_tosum_allstates.sql	(revision 42053)
@@ -0,0 +1,21 @@
+SELECT
+    stackRun.stack_id,
+    stackRun.tess_id,
+    stackRun.skycell_id,
+    stackRun.workdir,
+    stackRun.reduction,
+    stackRun.label,
+    stackRun.state,
+    stackSumSkyfile.path_base,
+    IFNULL(Label.priority, 10000) AS priority
+FROM stackRun
+JOIN stackInputSkyfile USING(stack_id)
+JOIN warpRun USING(warp_id)
+LEFT JOIN stackSumSkyfile USING(stack_id)
+LEFT JOIN Label ON Label.label = stackRun.label
+WHERE
+    ((stackRun.state = 'new' AND stackSumSkyfile.stack_id IS NULL)
+    OR (stackRun.state = 'update' AND stackSumSkyfile.fault = 0 AND stackSumSkyfile.quality = 0))
+    AND (Label.active OR Label.active IS NULL)
+    -- WHERE hook %s
+GROUP BY stack_id
Index: /branches/eam_branches/ipp-20211108/ippTools/src/stacktool.c
===================================================================
--- /branches/eam_branches/ipp-20211108/ippTools/src/stacktool.c	(revision 42052)
+++ /branches/eam_branches/ipp-20211108/ippTools/src/stacktool.c	(revision 42053)
@@ -928,6 +928,7 @@
     PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
-
-    psString query = pxDataGet("stacktool_tosum.sql");
+    PXOPT_LOOKUP_BOOL(ignore_warp_state, config->args, "-ignore-warp-state", false);
+
+    psString query = ignore_warp_state ? pxDataGet("stacktool_tosum_allstates.sql") : pxDataGet("stacktool_tosum.sql");
     if (!query) {
         psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
Index: /branches/eam_branches/ipp-20211108/ippTools/src/stacktoolConfig.c
===================================================================
--- /branches/eam_branches/ipp-20211108/ippTools/src/stacktoolConfig.c	(revision 42052)
+++ /branches/eam_branches/ipp-20211108/ippTools/src/stacktoolConfig.c	(revision 42053)
@@ -154,4 +154,5 @@
     psMetadataAddU64(tosumArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     psMetadataAddBool(tosumArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
+    psMetadataAddBool(tosumArgs, PS_LIST_TAIL, "-ignore-warp-state",  0, "generate the stack even if some inputs are not full", false);
 
     // -tobkg
