Index: trunk/ippToPsps/test/sastest.sh
===================================================================
--- trunk/ippToPsps/test/sastest.sh	(revision 38964)
+++ trunk/ippToPsps/test/sastest.sh	(revision 38974)
@@ -15,7 +15,8 @@
 # mkgpc1.sh user localhost eam eam
 
-set mkgpc1       = 1
+# takes a long time to generate the gpc1 database (or at least the dvo database)
+# default is OFF
+set mkgpc1       = 0
 set initdb       = 1
-set mkdummy      = 1
 set initscratch  = 1
 set initbatch    = 1
@@ -24,6 +25,12 @@
 set stackqueue   = 1
 set stackbatch   = 1
+set forcequeue   = 1
+set forcebatch   = 1
 set objectqueue  = 1
 set objectbatch  = 1
+set forcedobjqueue = 1
+set forcedobjbatch = 1
+
+set debug = ""
 
 set targ = ($argv)
@@ -37,5 +44,5 @@
     echo " -XX : turn off features"
     echo " +XX : turn on features"
-    echo "  features: all, mkgpc1, initdb, initscratch, initbatch, camera, stack, object"
+    echo "  features: all, mkgpc1, initdb, initscratch, initbatch, camera, stack, forcedwarp, object, forcedobject"
     exit 2
   case -all
@@ -48,6 +55,10 @@
     set stackqueue   = 0
     set stackbatch   = 0
+    set forcequeue   = 0
+    set forcebatch   = 0
     set objectqueue  = 0
     set objectbatch  = 0
+    set forcedobjqueue = 0
+    set forcedobjbatch = 0
     breaksw;
   case -mkgpc1
@@ -75,4 +86,15 @@
     set objectbatch = 0
     breaksw;
+  case -forcedwarp
+    set forcequeue = 0
+    set forcebatch = 0
+    breaksw;
+  case -forcedobject
+    set forcedobjqueue = 0
+    set forcedobjbatch = 0
+    breaksw;
+  case -debug
+    set debug = "-debug"
+    breaksw;
   default:
     set args=($args $targ[1]);
@@ -88,5 +110,6 @@
  switch ("$targ[1]")
   case +all
-    set mkgpc1       = 1
+    # need to turn on mkgpc1 explicitly
+    set mkgpc1       = 0
     set initdb       = 1
     set initscratch  = 1
@@ -98,4 +121,8 @@
     set objectqueue  = 1
     set objectbatch  = 1
+    set forcequeue   = 1
+    set forcebatch   = 1
+    set forcedobjqueue = 1
+    set forcedobjbatch = 1
     breaksw;
   case +mkgpc1
@@ -122,4 +149,12 @@
     set objectqueue = 1
     set objectbatch = 1
+    breaksw;
+  case +forcedwarp
+    set forcequeue = 1
+    set forcebatch = 1
+    breaksw;
+  case +forcedobject
+    set forcedobjqueue = 1
+    set forcedobjbatch = 1
     breaksw;
   default:
@@ -134,13 +169,15 @@
     echo " -XX : turn off features"
     echo " +XX : turn on features"
-    echo "  features: all, mkgpc1, initdb, initscratch, initbatch, camera, stack, object"
+    echo "  features: all, mkgpc1, initdb, initscratch, initbatch, camera, object, stack, forcedwarp, forcedobject"
+    echo "  (NOTE: you need to explicitly turn on mkgpc1 if you want to re-build the dvo)"
     exit 2
 endif
-
-set stackqueuename = 0
-set objectqueuename = 0
 
 set OUTDIR = "sasdata"
 set queuename = "test"
+set stackqueuename = $queuename\_stk
+set objectqueuename = $queuename\_obj
+set forcedwarpqueuename = $queuename\_wrp
+set forcedobjqueuename = $queuename\_fwo
 
 if ($mkgpc1) then
@@ -148,4 +185,8 @@
   echo " ---- mksasdata.dvo : creating the dvo & gpc1 database entries ----"
   mksasdata.dvo
+  if ($status) then
+    echo "failed to generate the data & dvo, quitting"
+    exit 2
+  endif
 endif
 
@@ -157,16 +198,19 @@
   # does the database already exist?
   # XXX this command will blow away an existing database!!
-  mysql -h localhost -u dvo -pdvo -e "create database ipptopsps_test"
-  mysql -h localhost -u dvo -pdvo ipptopsps_test < $IPPTOPSPS_DATA/ippToPspsDbSchema.sql
+  mysql -h localhost -u dvo -pdvo -e "create database if not exists ipptopsps_test" || exit 3
+  mysql -h localhost -u dvo -pdvo ipptopsps_test < $IPPTOPSPS_DATA/ippToPspsDbSchema.sql || exit 3
+  echo " ---- init ipptopsps_test: done ----"
 endif
 
 # re-create the ipptopsps database
 if ($initscratch) then 
+  echo ""
+  echo " ---- init ipptopsps_test_scratch ----"
 
   # create the database (ignore failure if it already exists)
-  mysql -h localhost -u dvo -pdvo -e "drop database ipptopsps_scratch"
-  mysql -h localhost -u dvo -pdvo -e "create database ipptopsps_scratch"
+  mysql -h localhost -u dvo -pdvo -e "drop database if exists ipptopsps_test_scratch"
+  mysql -h localhost -u dvo -pdvo -e "create database ipptopsps_test_scratch"
   ippjython setupScratchDb.py -test < /dev/null
-  if ($status) exit
+  if ($status) exit 1
 endif
 
@@ -182,5 +226,5 @@
   echo "IPP_PSPS               " >> initbatch.dat # datastore_type
   echo "0                      " >> initbatch.dat # datastore_publish
-  echo "none                   " >> initbatch.dat # dvo_label
+  echo "init                   " >> initbatch.dat # dvo_label
   echo "none                   " >> initbatch.dat # dvo_location
   echo "0                      " >> initbatch.dat # min_ra
@@ -189,5 +233,5 @@
   echo "0                      " >> initbatch.dat # max_dec
   echo "2                      " >> initbatch.dat # box_size
-  echo "none                   " >> initbatch.dat # base_path
+  echo "$OUTDIR		       " >> initbatch.dat # base_path
   echo "0                      " >> initbatch.dat # data_release
   echo "0                      " >> initbatch.dat # delete_local
@@ -210,5 +254,5 @@
   echo "2000-01-01 00:00:00.0  " >> initbatch.dat # trange_start
   echo "2020-01-01 00:00:00.0  " >> initbatch.dat # trange_end
-  cat initbatch.dat | ippjython queue.py -test edit
+  cat initbatch.dat | ippjython queue.py $debug -test edit
   if ($status) exit
 
@@ -217,6 +261,6 @@
 
   rm -rf $OUTDIR/IN
-  ippjython loader.py -test initbatch init < /dev/null
-  if ($status) exit
+  ippjython loader.py $debug -test initbatch init < /dev/null
+  if ($status) exit 1
 endif
 
@@ -230,6 +274,6 @@
   echo "IPP_PSPS	      " >> cambatch.dat # datastore_type
   echo "0		      " >> cambatch.dat # datastore_publish
-  echo "catdir.sas.cam	      " >> cambatch.dat # dvo_label
-  echo "$OUTDIR/catdir.sas.cam" >> cambatch.dat # dvo_location
+  echo "catdir.sas 	      " >> cambatch.dat # dvo_label
+  echo "$OUTDIR/catdir.sas    " >> cambatch.dat # dvo_location
   echo "330		      " >> cambatch.dat # min_ra
   echo "340		      " >> cambatch.dat # max_ra
@@ -258,5 +302,5 @@
   echo "2000-01-01 00:00:00.0 " >> cambatch.dat # trange_start
   echo "2020-01-01 00:00:00.0 " >> cambatch.dat # trange_end
-  cat cambatch.dat | ippjython queue.py -test edit
+  cat cambatch.dat | ippjython queue.py $debug -test edit
   if ($status) exit
 endif
@@ -267,63 +311,9 @@
 
   rm -rf $OUTDIR/P2
-  ippjython loader.py -test $queuename once < /dev/null
-  if ($status) exit
-endif
-
-# this code is sensitive to a previously existing database?
-if ($stackqueue) then
-  echo ""
-  echo " ---- queue ST batches ----"
-
-  if ($stackqueuename == 0) then
-    set stackqueuename = $queuename\_stk
-  endif
-  echo "$stackqueuename	      " >  stackbatch.dat # skychunk name
-  echo "test_ds		      " >> stackbatch.dat # datastore_product
-  echo "IPP_PSPS	      " >> stackbatch.dat # datastore_type
-  echo "0		      " >> stackbatch.dat # datastore_publish
-  echo "catdir.sas.cam	      " >> stackbatch.dat # dvo_label
-  echo "$OUTDIR/catdir.sas.cam" >> stackbatch.dat # dvo_location
-  echo "332		      " >> stackbatch.dat # min_ra
-  echo "335		      " >> stackbatch.dat # max_ra
-  echo "-6		      " >> stackbatch.dat # min_dec
-  echo "-4		      " >> stackbatch.dat # max_dec
-  echo "1		      " >> stackbatch.dat # box_size
-  echo "$OUTDIR		      " >> stackbatch.dat # base_path
-  echo "0		      " >> stackbatch.dat # data_release
-  echo "0		      " >> stackbatch.dat # delete_local
-  echo "1		      " >> stackbatch.dat # delete_datastore
-  echo "1		      " >> stackbatch.dat # delete_dxlayer
-  echo "2012-12-10 00:00:00.0 " >> stackbatch.dat # epoch
-  echo "3PI		      " >> stackbatch.dat # survey
-  echo "3PI		      " >> stackbatch.dat # psps_survey
-  echo "0		      " >> stackbatch.dat # queue_P2
-  echo "1		      " >> stackbatch.dat # queue_ST
-  echo "0		      " >> stackbatch.dat # queue_OB
-  echo "0                     " >> stackbatch.dat # queue_DF
-  echo "0                     " >> stackbatch.dat # queue_DO
-  echo "0                     " >> stackbatch.dat # queue_FW
-  echo "0                     " >> stackbatch.dat # queue_FO
-  echo "1                     " >> stackbatch.dat # active
-  echo "0                     " >> stackbatch.dat # parallel
-  echo "use_new               " >> stackbatch.dat # P2_smf_version
-  echo "any                   " >> stackbatch.dat # ST_cmf_version
-  echo "2000-01-01 00:00:00.0 " >> stackbatch.dat # trange_start
-  echo "2020-01-01 00:00:00.0 " >> stackbatch.dat # trange_end
-  cat stackbatch.dat | ippjython queue.py -test edit
-  if ($status) exit
-endif
-
-if ($stackbatch) then
-  echo ""
-  echo " ---- load ST batches ----"
-
-  if ($stackqueuename == 0) then
-    set stackqueuename = $queuename\_stk
-  endif
-  rm -rf $OUTDIR/ST
-  ippjython loader.py -test $stackqueuename once < /dev/null
-  if ($status) exit
-endif
+  ippjython loader.py $debug -test $queuename once < /dev/null
+  if ($status) exit
+endif
+
+############################ OB batches ################################
 
 # this code is sensitive to a previously existing database?
@@ -332,13 +322,10 @@
   echo " ---- queue OB batches ----"
 
-  if ($objectqueuename == 0) then
-    set objectqueuename = $queuename\_obj
-  endif
   echo "$objectqueuename       " >  objectbatch.dat # skychunk name
   echo "test_ds		       " >> objectbatch.dat # datastore_product
   echo "IPP_PSPS	       " >> objectbatch.dat # datastore_type
   echo "0		       " >> objectbatch.dat # datastore_publish
-  echo "catdir.sas.cam	       " >> objectbatch.dat # dvo_label
-  echo "$OUTDIR/catdir.sas.cam " >> objectbatch.dat # dvo_location
+  echo "catdir.sas	       " >> objectbatch.dat # dvo_label
+  echo "$OUTDIR/catdir.sas     " >> objectbatch.dat # dvo_location
   echo "330		       " >> objectbatch.dat # min_ra
   echo "340		       " >> objectbatch.dat # max_ra
@@ -367,5 +354,5 @@
   echo "2000-01-01 00:00:00.0  " >> objectbatch.dat # trange_start
   echo "2020-01-01 00:00:00.0  " >> objectbatch.dat # trange_end
-  cat objectbatch.dat | ippjython queue.py -test edit once
+  cat objectbatch.dat | ippjython queue.py $debug -test edit once
   if ($status) exit
 endif
@@ -375,11 +362,165 @@
   echo " ---- load OB batches ----"
 
-  if ($objectqueuename == 0) then
-    set objectqueuename = $queuename\_obj
-  endif
   rm -rf $OUTDIR/OB
 
-  ippjython loader.py -test $objectqueuename once < /dev/null
-  if ($status) exit
-endif
-
+  ippjython loader.py $debug -test $objectqueuename once < /dev/null
+  if ($status) exit
+endif
+
+############################ ST batches ################################
+
+# this code is sensitive to a previously existing database?
+if ($stackqueue) then
+  echo ""
+  echo " ---- queue ST batches ----"
+
+  echo "$stackqueuename	      " >  stackbatch.dat # skychunk name
+  echo "test_ds		      " >> stackbatch.dat # datastore_product
+  echo "IPP_PSPS	      " >> stackbatch.dat # datastore_type
+  echo "0		      " >> stackbatch.dat # datastore_publish
+  echo "catdir.sas	      " >> stackbatch.dat # dvo_label
+  echo "$OUTDIR/catdir.sas    " >> stackbatch.dat # dvo_location
+  echo "332.0		      " >> stackbatch.dat # min_ra
+  echo "334.5		      " >> stackbatch.dat # max_ra
+  echo "-1		      " >> stackbatch.dat # min_dec
+  echo "+1		      " >> stackbatch.dat # max_dec
+  echo "1		      " >> stackbatch.dat # box_size
+  echo "$OUTDIR		      " >> stackbatch.dat # base_path
+  echo "0		      " >> stackbatch.dat # data_release
+  echo "0		      " >> stackbatch.dat # delete_local
+  echo "1		      " >> stackbatch.dat # delete_datastore
+  echo "1		      " >> stackbatch.dat # delete_dxlayer
+  echo "2012-12-10 00:00:00.0 " >> stackbatch.dat # epoch
+  echo "3PI		      " >> stackbatch.dat # survey
+  echo "3PI		      " >> stackbatch.dat # psps_survey
+  echo "0		      " >> stackbatch.dat # queue_P2
+  echo "1		      " >> stackbatch.dat # queue_ST
+  echo "0		      " >> stackbatch.dat # queue_OB
+  echo "0                     " >> stackbatch.dat # queue_DF
+  echo "0                     " >> stackbatch.dat # queue_DO
+  echo "0                     " >> stackbatch.dat # queue_FW
+  echo "0                     " >> stackbatch.dat # queue_FO
+  echo "1                     " >> stackbatch.dat # active
+  echo "0                     " >> stackbatch.dat # parallel
+  echo "use_new               " >> stackbatch.dat # P2_smf_version
+  echo "any                   " >> stackbatch.dat # ST_cmf_version
+  echo "2000-01-01 00:00:00.0 " >> stackbatch.dat # trange_start
+  echo "2020-01-01 00:00:00.0 " >> stackbatch.dat # trange_end
+  cat stackbatch.dat | ippjython queue.py $debug -test edit
+  if ($status) exit 1
+endif
+
+if ($stackbatch) then
+  echo ""
+  echo " ---- load ST batches ----"
+
+  rm -rf $OUTDIR/ST
+  ippjython loader.py $debug -test $stackqueuename once < /dev/null
+  if ($status) exit 1
+endif
+
+############################ FW batches ################################
+
+# this code is sensitive to a previously existing database?
+if ($forcequeue) then
+  echo ""
+  echo " ---- queue FW batches ----"
+
+  echo "$forcedwarpqueuename  " >  forcebatch.dat # skychunk name
+  echo "test_ds		      " >> forcebatch.dat # datastore_product
+  echo "IPP_PSPS	      " >> forcebatch.dat # datastore_type
+  echo "0		      " >> forcebatch.dat # datastore_publish
+  echo "catdir.sas	      " >> forcebatch.dat # dvo_label
+  echo "$OUTDIR/catdir.sas    " >> forcebatch.dat # dvo_location
+  echo "332.0		      " >> forcebatch.dat # min_ra
+  echo "334.5		      " >> forcebatch.dat # max_ra
+  echo "-1		      " >> forcebatch.dat # min_dec
+  echo "+1		      " >> forcebatch.dat # max_dec
+  echo "2		      " >> forcebatch.dat # box_size
+  echo "$OUTDIR		      " >> forcebatch.dat # base_path
+  echo "0		      " >> forcebatch.dat # data_release
+  echo "0		      " >> forcebatch.dat # delete_local
+  echo "1		      " >> forcebatch.dat # delete_datastore
+  echo "1		      " >> forcebatch.dat # delete_dxlayer
+  echo "2012-12-10 00:00:00.0 " >> forcebatch.dat # epoch
+  echo "3PI		      " >> forcebatch.dat # survey
+  echo "3PI		      " >> forcebatch.dat # psps_survey
+  echo "0		      " >> forcebatch.dat # queue_P2
+  echo "0		      " >> forcebatch.dat # queue_ST
+  echo "0		      " >> forcebatch.dat # queue_OB
+  echo "0                     " >> forcebatch.dat # queue_DF
+  echo "0                     " >> forcebatch.dat # queue_DO
+  echo "1                     " >> forcebatch.dat # queue_FW
+  echo "0                     " >> forcebatch.dat # queue_FO
+  echo "1                     " >> forcebatch.dat # active
+  echo "0                     " >> forcebatch.dat # parallel
+  echo "use_new               " >> forcebatch.dat # P2_smf_version
+  echo "any                   " >> forcebatch.dat # ST_cmf_version
+  echo "2000-01-01 00:00:00.0 " >> forcebatch.dat # trange_start
+  echo "2020-01-01 00:00:00.0 " >> forcebatch.dat # trange_end
+  ippjython queue.py $debug -test edit < forcebatch.dat
+  if ($status) exit 1
+endif
+
+if ($forcebatch) then
+  echo ""
+  echo " ---- load FW batches ----"
+
+  rm -rf $OUTDIR/FW
+  ippjython loader.py $debug -test $forcedwarpqueuename once < /dev/null
+  if ($status) exit
+endif
+
+############################ FO batches ################################
+
+# this code is sensitive to a previously existing database?
+if ($forcedobjqueue) then
+  echo ""
+  echo " ---- queue FO batches ----"
+
+  echo "$forcedobjqueuename   " >  forcedobjectbatch.dat # skychunk name
+  echo "test_ds		      " >> forcedobjectbatch.dat # datastore_product
+  echo "IPP_PSPS	      " >> forcedobjectbatch.dat # datastore_type
+  echo "0		      " >> forcedobjectbatch.dat # datastore_publish
+  echo "catdir.sas	      " >> forcedobjectbatch.dat # dvo_label
+  echo "$OUTDIR/catdir.sas    " >> forcedobjectbatch.dat # dvo_location
+  echo "332.0		      " >> forcedobjectbatch.dat # min_ra
+  echo "334.5		      " >> forcedobjectbatch.dat # max_ra
+  echo "-1		      " >> forcedobjectbatch.dat # min_dec
+  echo "+1		      " >> forcedobjectbatch.dat # max_dec
+  echo "2		      " >> forcedobjectbatch.dat # box_size
+  echo "$OUTDIR		      " >> forcedobjectbatch.dat # base_path
+  echo "0		      " >> forcedobjectbatch.dat # data_release
+  echo "0		      " >> forcedobjectbatch.dat # delete_local
+  echo "1		      " >> forcedobjectbatch.dat # delete_datastore
+  echo "1		      " >> forcedobjectbatch.dat # delete_dxlayer
+  echo "2012-12-10 00:00:00.0 " >> forcedobjectbatch.dat # epoch
+  echo "3PI		      " >> forcedobjectbatch.dat # survey
+  echo "3PI		      " >> forcedobjectbatch.dat # psps_survey
+  echo "0		      " >> forcedobjectbatch.dat # queue_P2
+  echo "0		      " >> forcedobjectbatch.dat # queue_ST
+  echo "0		      " >> forcedobjectbatch.dat # queue_OB
+  echo "0                     " >> forcedobjectbatch.dat # queue_DF
+  echo "0                     " >> forcedobjectbatch.dat # queue_DO
+  echo "0                     " >> forcedobjectbatch.dat # queue_FW
+  echo "1                     " >> forcedobjectbatch.dat # queue_FO
+  echo "1                     " >> forcedobjectbatch.dat # active
+  echo "0                     " >> forcedobjectbatch.dat # parallel
+  echo "use_new               " >> forcedobjectbatch.dat # P2_smf_version
+  echo "any                   " >> forcedobjectbatch.dat # ST_cmf_version
+  echo "2000-01-01 00:00:00.0 " >> forcedobjectbatch.dat # trange_start
+  echo "2020-01-01 00:00:00.0 " >> forcedobjectbatch.dat # trange_end
+  ippjython queue.py $debug -test edit once -simtest < forcedobjectbatch.dat
+  if ($status) exit
+endif
+
+if ($forcedobjbatch) then
+  echo ""
+  echo " ---- load LO batches ----"
+
+  rm -rf $OUTDIR/LO
+
+  ippjython loader.py $debug -test $forcedobjqueuename once -simtest < /dev/null
+  if ($status) exit
+endif
+
