Index: /trunk/ippScripts/scripts/lap_science.pl
===================================================================
--- /trunk/ippScripts/scripts/lap_science.pl	(revision 31453)
+++ /trunk/ippScripts/scripts/lap_science.pl	(revision 31454)
@@ -182,4 +182,5 @@
     $chip_cmd .= " -set_label $exposure->{label} -set_data_group $data_group ";
     $chip_cmd .= " -set_workdir $workdir -set_dist_group $exposure->{dist_group} ";
+    $chip_cmd .= " -set_reduction LAP_SCIENCE ";
 
     my ($success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
@@ -489,5 +490,5 @@
     }
 
-
+    print "STATUS: LAP_ID           $lap_id\n";
     print "STATUS: DEFINED_QSTACK:  $defined_qstack\n";
     print "STATUS: HAVE_QSTACK:     $have_qstack\n";
@@ -504,4 +505,5 @@
 
     print "STATUS: TOTAL_EXPOSURES: $total_exposures\n";
+    print "\n";
     if ($do_nothing) {
 	exit(0);
@@ -545,5 +547,6 @@
 	}
     }
-    
+    print "\n";
+    return(0);
 }
 
Index: /trunk/ippTasks/Makefile.am
===================================================================
--- /trunk/ippTasks/Makefile.am	(revision 31453)
+++ /trunk/ippTasks/Makefile.am	(revision 31454)
@@ -41,5 +41,6 @@
 	lossy_compress.pro \
 	background.pro \
-	diffphot.pro
+	diffphot.pro \
+	lap.pro
 
 other_files = \
Index: /trunk/ippTasks/lap.pro
===================================================================
--- /trunk/ippTasks/lap.pro	(revision 31453)
+++ /trunk/ippTasks/lap.pro	(revision 31454)
@@ -4,6 +4,82 @@
 
 $lapSeq:n = 0
-
-book init lapRuns
+$lap_N = 0
+$lap_DB = 0
+
+$lap_NewPage = 0
+$lap_RunPage = 0
+$lap_DonePage = 0
+
+book init lapNewRuns
+book init lapRunRuns
+book init lapFullRuns
+book init lapDoneRuns
+
+macro lap.show.books
+    book listbook lapNewRuns
+    book listbook lapRunRuns
+    book listbook lapDoneRuns
+    book listbook lapFullRuns
+end
+
+macro lap.on
+    task lap.initial.load
+      active true
+    end
+    task lap.initial.run
+      active true
+    end
+    task lap.monitor.load
+      active true
+    end
+    task lap.monitor.run
+      active true
+    end
+    task lap.cleanup.load
+      active true
+    end
+    task lap.cleanup.run
+      active true
+    end
+end
+
+macro lap.off
+    task lap.initial.load
+      active false
+    end
+    task lap.initial.run
+      active false
+    end
+    task lap.monitor.load
+      active false
+    end
+    task lap.monitor.run
+      active false
+    end
+    task lap.cleanup.load
+      active false
+    end
+    task lap.cleanup.run
+      active false
+    end
+end
+
+macro lap.cleanup.on
+    task lap.cleanup.load
+      active true
+    end
+    task lap.cleanup.run
+      active true
+    end
+end
+
+macro lap.cleanup.off
+    task lap.cleanup.load
+      active false
+    end
+    task lap.cleanup.run
+      active false
+    end
+end
 
 macro lap.add.sequence
@@ -80,6 +156,6 @@
   # success
   task.exit  0
-    book delpage lapNewRuns $options:0
-    ipptool2book stdout lapNewRuns -uniq -key proj
+#    book delpage lapNewRuns $options:0
+    ipptool2book stdout lapNewRuns -uniq -key lap_id -setword dbname $options:0 -setword pantaskState INIT
 
     if ($VERBOSE > 2)
@@ -109,5 +185,5 @@
 
   task.exec
-    stdout NULL
+    stdout $LOGDIR/lap.initial.log
     stderr $LOGDIR/lap.initial.log
 
@@ -117,10 +193,15 @@
 
 
-    book getpage lapNewRuns 0 -var pageName -key pantaskState INIT
-    if ("$pageName" == "NULL") break
-
-    book setword lapNewRuns $pageName pantaskState RUN
-    book getword lapNewRuns $pageName lap_id -var LAP_ID
-    book getword lapNewRuns $pageName dbname -var DBNAME
+    book getpage lapNewRuns $lap_NewPage -var lapNewPageName 
+
+    $lap_NewPage ++
+    if ($lap_NewPage >= $N) set lap_NewPage = 0
+
+
+    if ("$lapNewPageName" == "NULL") break
+
+    book setword lapNewRuns $lapNewPageName pantaskState RUN
+    book getword lapNewRuns $lapNewPageName lap_id -var LAP_ID
+    book getword lapNewRuns $lapNewPageName dbname -var DBNAME
 
     $run = lap_science.pl --chip_mode --dbname $DBNAME --lap_id $LAP_ID
@@ -132,6 +213,6 @@
   # success
   task.exit  0
-    book delpage lapNewRuns $options:0
-    ipptool2book stdout lapNewRuns -uniq -key proj
+#    book delpage lapNewRuns $options:0
+#    ipptool2book stdout lapNewRuns -uniq -key lap_id
 
     if ($VERBOSE > 2)
@@ -167,5 +248,7 @@
     $run = laptool -pendingrun -state run
 
-    if ($lapSeq:n != 0)
+    if ($lapSeq:n == 0)
+      break
+    else 
       option $lapSeq:$lap_N
       $run = $run -seq_id $lapSeq:$lap_N
@@ -184,11 +267,11 @@
 
     add_poll_labels run
-
-    command $run
-  end
-  # success
-  task.exit  0
-    book delpage lapRuRuns $options:0
-    ipptool2book stdout lapRunRuns -uniq -key lap_id
+#    echo $run
+    command $run
+  end
+  # success
+  task.exit  0
+#    book delpage lapRunRuns $options:0
+    ipptool2book stdout lapRunRuns -uniq -key lap_id -setword dbname $options:0 -setword pantaskState INIT
 
     if ($VERBOSE > 2)
@@ -218,18 +301,25 @@
 
   task.exec
-    stdout NULL
-    stderr $LOGDIR/lap.initial.log
+    stdout $LOGDIR/lap.monitor.log
+    stderr $LOGDIR/lap.monitor.log
 
     book npages lapRunRuns -var N
+
+#    echo $N $NETWORK
     if ($N == 0) break
     if ($NETWORK == 0) break
 
 
-    book getpage lapNewRuns 0 -var pageName -key pantaskState INIT
-    if ("$pageName" == "NULL") break
-
-    book setword lapNewRuns $pageName pantaskState RUN
-    book getword lapNewRuns $pageName lap_id -var LAP_ID
-    book getword lapNewRuns $pageName dbname -var DBNAME
+    book getpage lapRunRuns $lap_RunPage -var lapRunPageName
+
+    $lap_RunPage ++
+    if ($lap_RunPage >= $N) set lap_RunPage = 0
+
+#    echo $lapRunPageName
+    if ("$lapRunPageName" == "NULL") break
+
+    book setword lapRunRuns $lapRunPageName pantaskState RUN
+    book getword lapRunRuns $lapRunPageName lap_id -var LAP_ID
+    book getword lapRunRuns $lapRunPageName dbname -var DBNAME
 
     $run = lap_science.pl --monitor_mode --dbname $DBNAME --lap_id $LAP_ID
@@ -241,6 +331,6 @@
   # success
   task.exit  0
-    book delpage lapRunRuns $options:0
-    ipptool2book stdout lapRunRuns -uniq -key proj
+#    book delpage lapRunRuns $options:0
+#    ipptool2book stdout lapRunRuns -uniq -key lap_id
 
     if ($VERBOSE > 2)
@@ -298,6 +388,5 @@
   # success
   task.exit  0
-    book delpage lapDoneRuns $options:0
-    ipptool2book stdout lapDoneRuns -uniq -key lap_id
+    ipptool2book stdout lapDoneRuns -uniq -key lap_id  -setword dbname $options:0 -setword pantaskState INIT
 
     if ($VERBOSE > 2)
@@ -327,18 +416,22 @@
 
   task.exec
-    stdout NULL
+    stdout $LOGDIR/lap.cleanup.log
     stderr $LOGDIR/lap.cleanup.log
 
-    book npages lapNewRuns -var N
+    book npages lapDoneRuns -var N
     if ($N == 0) break
     if ($NETWORK == 0) break
 
 
-    book getpage lapNewRuns 0 -var pageName -key pantaskState INIT
-    if ("$pageName" == "NULL") break
-
-    book setword lapDoneRuns $pageName pantaskState RUN
-    book getword lapDoneRuns $pageName lap_id -var LAP_ID
-    book getword lapDoneRuns $pageName dbname -var DBNAME
+    book getpage lapDoneRuns $lap_DonePage -var lapDonePageName 
+
+    $lap_DonePage ++
+    if ($lap_DonePage >= $N) set lap_DonePage = 0
+
+    if ("$lapDonePageName" == "NULL") break
+
+    book setword lapDoneRuns $lapDonePageName pantaskState RUN
+    book getword lapDoneRuns $lapDonePageName lap_id -var LAP_ID
+    book getword lapDoneRuns $lapDonePageName dbname -var DBNAME
 
     $run = lap_science.pl --cleanup_mode --dbname $DBNAME --lap_id $LAP_ID
@@ -350,6 +443,5 @@
   # success
   task.exit  0
-    book delpage lapDoneRuns $options:0
-    ipptool2book stdout lapDoneRuns -uniq -key proj
+#    ipptool2book stdout lapDoneRuns -uniq -key lap_id
 
     if ($VERBOSE > 2)
