Index: trunk/ippToPsps/test/mksasdata.dvo
===================================================================
--- trunk/ippToPsps/test/mksasdata.dvo	(revision 39035)
+++ trunk/ippToPsps/test/mksasdata.dvo	(revision 39042)
@@ -21,7 +21,14 @@
 
 list expfiles -glob sasdata.v39/*.smf
-list stkfiles -glob sasdata.v39/*skycal*.cmf
 list wrpfiles -glob sasdata.v39/*.wrp.*ff*.cmf
 list diffiles -glob sasdata.v39/*.WS.dif.*.cmf
+list stkfiles -glob sasdata.v39/*skycal*.cmf
+
+# filter stack camera
+$stkset:g = g.00000 sasdata.v39/RINGS.V3.skycell.1315.090.stk.3942577.skycal.4113018.cmf sasdata.v39/o5748g0363o.358745.cm.1218981.smf
+$stkset:r = r.00000 sasdata.v39/RINGS.V3.skycell.1315.090.stk.3942579.skycal.4113020.cmf sasdata.v39/o5748g0394o.358770.cm.1218998.smf
+$stkset:i = i.00000 sasdata.v39/RINGS.V3.skycell.1315.090.stk.3942578.skycal.4113019.cmf sasdata.v39/o5748g0436o.358811.cm.1219048.smf
+$stkset:z = z.00000 sasdata.v39/RINGS.V3.skycell.1315.090.stk.3942581.skycal.4113022.cmf sasdata.v39/o5748g0489o.358899.cm.1219134.smf
+$stkset:y = y.00000 sasdata.v39/RINGS.V3.skycell.1315.090.stk.3942580.skycal.4113021.cmf sasdata.v39/o5748g0520o.358905.cm.1219149.smf
 
 # fforce summary files are missing metadata from header.  it is supplied
@@ -56,6 +63,6 @@
 
   insert.cam
+  insert.stk
   insert.wrp
-  insert.stk
   insert.dif
   insert.minis
@@ -65,6 +72,6 @@
   init.db
   insert.cam
+  insert.stk
   insert.wrp
-  insert.stk
   insert.dif
   insert.minis
@@ -259,7 +266,14 @@
   end
 
-  local wrpID stkID filename path_base
-
-  $stkID = 1
+  local wrpID stkID filename path_base wrpFileID skycell filterID mjd addID expID ffID filterChar
+
+# $stkID = 500
+# $skyID = $stkID + 10
+# $skycalID = $stkID + 20
+# dbinsert fullForceRun (ff_id, skycal_id) values ($stkID, $skycalID)
+# dbinsert stackSumSkyfile (stack_id, mjd_obs) values ($stkID, $mjd)
+# dbinsert skycalRun (sky_id, skycal_id, stack_id) values ($skyID, $skycalID, $stkID)
+# dbinsert skycalResult (skycal_id, path_base) values ($skycalID, "$path_base")
+# dbinsert stackRun (stack_id, skycell_id, filter, software_ver) values ($stkID, "$skycell", "$filter", "37500M")
 
   for i 0 $wrpfiles:n
@@ -268,14 +282,49 @@
     substr $filename 0 {$Nchar - 4} path_base; # the database needs the path without the extension (.smf/.cmf)
 
-    # a single exposure
-    $wrpID = $i + 100
-
+    $wrpFileID = `echo $filename | fields IMAGEID | prcol 2`
+    $skycell   = `echo $filename | fields SKYCELL | prcol 2`
+    $filterID  = `echo $filename | fields FPA.FILTERID | prcol 2`
+    $mjd       = `echo $filename | fields MJD-OBS | prcol 2`
+
+    ctimes -ref $mjd -var dateobs
+    strsub $dateobs , " " -var myDateObs
+
+    # IDs for a single exposure
+    $wrpID = $i + 200
+    $expID = $i + 300
+    $addID = $i + 400
+
+    # need to process the stacks first, then we can do the warps
+    substr $filterID 0 1 filterChar
+    $stkID = $stackID:$filterChar
+
+    $ffID     = $stkID + 10
+#   $skyID    = $stkID + 20
+#   $skycalID = $stkID + 30
+
+    sprintf expname "o0000g%04do" $expID
+
+    # many of these values are fakes for query purposes only.
+
+    dbinsert rawExp (exp_id, exp_name, exp_time, filter, bg, bg_stdev, ra, decl, dateobs) values ($expID, "$expname", 10.0, "$filterID", 100.0, 2.0, {$RA*3.1415/180.0}, {$DEC*3.1415/180.0}, "$myDateObs")
+    dbinsert chipRun (exp_id, chip_id) values ($expID, $expID)
+    dbinsert camRun (chip_id, cam_id, dist_group, software_ver) values ($expID, $expID, "testgroup", "38000M")
+    dbinsert camProcessedExp (cam_id, path_base, fault) values ($expID, "$path_base", 0)
+    dbinsert fakeRun (fake_id, cam_id) values ($expID, $expID)
+    dbinsert warpRun (warp_id, fake_id, tess_id, state) values ($wrpID, $expID, $TESS_ID, "full")
+    dbinsert warpImfile (warp_id, skycell_id, warp_skyfile_id) values ($wrpID, "$skycell", $wrpFileID)
+
+    # do I care if the class ID is invalid?
+    dbinsert warpSkyCellMap (warp_id, skycell_id, class_id) values ($wrpID, "$skycell", "XY00")
+
+    dbinsert addProcessedExp (add_id, fault) values ($expID, 0)
+
+    dbinsert stackInputSkyfile (stack_id, warp_id) values ($stkID, $wrpID)
+    
     # we have a single fullForceRun for each stack, so we can match fullForceRun ids to stackRun ids
-    dbinsert fullForceInput (ff_id, warp_id) values ($stkID, $wrpID)
-    dbinsert fullForceResult (ff_id, warp_id, software_ver, path_base) values ($stkID, $wrpID, "38000M", "$path_base")
-
-    dbinsert addRun (add_id, stage, state, stage_id, stage_extra1, minidvodb_name) values ($wrpID, "fullforce", "full", $wrpID, $wrpID, "$catdirbase")
-
-    if ($i > 10) last
+    dbinsert fullForceInput (ff_id, warp_id) values ($ffID, $wrpID)
+    dbinsert fullForceResult (ff_id, warp_id, software_ver, path_base) values ($ffID, $wrpID, "38000M", "$path_base")
+
+    dbinsert addRun (add_id, stage, state, stage_id, stage_extra1, minidvodb_name) values ($addID, "fullforce", "full", $ffID, $wrpID, "$catdirbase")
   end
 end
@@ -300,18 +349,22 @@
     $mjd     = `echo $filename | fields MJD-OBS | prcol 2`
     
+    substr $filter 0 1 filterChar
+    $stackID:$filterChar = $stkID
+
     # the warp_id is only needed to generate the list of input exposures
-    $expID = $i + 1
+    # we have a single fullForceRun for each stack, so we can match fullForceRun ids to stackRun ids
+    
+    $ffID     = $stkID + 10
+    $skyID    = $stkID + 20
+    $skycalID = $stkID + 30
+
     dbinsert stackRun (stack_id, skycell_id, filter, software_ver) values ($stkID, "$skycell", "$filter", "37500M")
-    
-    # we have a single fullForceRun for each stack, so we can match fullForceRun ids to stackRun ids
-    $skyID    = $stkID
-    $skycalID = $stkID + 20
-    dbinsert fullForceRun (ff_id, skycal_id) values ($stkID, $skycalID)
-    
-    dbinsert stackInputSkyfile (stack_id, warp_id) values ($stkID, $expID)
+    dbinsert fullForceRun (ff_id, skycal_id) values ($ffID, $skycalID)
     dbinsert stackSumSkyfile (stack_id, mjd_obs) values ($stkID, $mjd)
     dbinsert skycalRun (sky_id, skycal_id, stack_id) values ($skyID, $skycalID, $stkID)
     dbinsert skycalResult (skycal_id, path_base) values ($skycalID, "$path_base")
     
+#   dbinsert stackInputSkyfile (stack_id, warp_id) values ($stkID, $expID)
+
     dbinsert addRun (add_id, stage, state, stage_id, minidvodb_name) values ($stkID, "skycal", "full", $skycalID, "$catdirbase")
   end
@@ -368,5 +421,20 @@
 
 if ($SCRIPT)
-  mkdb
-  exit 0
-end
+  if ($argv:n != 1)
+    echo "mksasdata.dvo (mode)"
+    exit 2
+  end
+
+  echo $argv:0
+
+  if ("$argv:0" == "mkdb")
+    mkdb
+    exit 0
+  end
+  if ("$argv:0" == "mkfull")
+    mkfull
+    exit 0
+  end
+  echo "no valid mode"
+  exit 3
+end
