Index: trunk/dbconfig/changes.txt
===================================================================
--- trunk/dbconfig/changes.txt	(revision 28095)
+++ trunk/dbconfig/changes.txt	(revision 28096)
@@ -1700,4 +1700,5 @@
       dtime_script FLOAT,              -- elapsed time for script
       sources INT,                     -- number of sources
+      num_inputs INT,                  -- number inputs used
       hostname VARCHAR(64) NOT NULL,   -- host that executed script
       good_frac FLOAT,                 -- good fraction of skycell
Index: trunk/dbconfig/staticsky.md
===================================================================
--- trunk/dbconfig/staticsky.md	(revision 28095)
+++ trunk/dbconfig/staticsky.md	(revision 28096)
@@ -21,9 +21,9 @@
 staticskyResult METADATA
     sky_id             S64    0       # Primary Key fkey(sky_id) ref staticskyRun(sky_id)
-    stack_id           S64    0       # Primary Key fkey(stack_id) ref stackSumSkyfile(stack_id)
     path_base          STR    255
     dtime_phot         F32    0.0
     dtime_script       F32    0.0
     sources            S32    0
+    num_inputs         S32    0
     hostname           STR    64
     good_frac          F32    0.0     # Key
Index: trunk/ippScripts/scripts/staticsky.pl
===================================================================
--- trunk/ippScripts/scripts/staticsky.pl	(revision 28095)
+++ trunk/ippScripts/scripts/staticsky.pl	(revision 28096)
@@ -21,4 +21,6 @@
 use PS::IPP::Metadata::List qw( parse_md_list );
 use Data::Dumper;
+use File::Temp qw( tempfile );
+use File::Basename;
 use PS::IPP::Config 1.01 qw( :standard );
 
@@ -36,7 +38,8 @@
 }
 
-my ($sky_id, $dbname, $threads, $outroot, $reduction, $inverse, $run_state, $verbose, $no_update, $no_op, $redirect, $save_temps);
+my ($sky_id, $camera, $dbname, $threads, $outroot, $reduction, $inverse, $run_state, $verbose, $no_update, $no_op, $redirect, $save_temps);
 GetOptions(
     'sky_id=s'          => \$sky_id, # Diff identifier
+    'camera|c=s'        => \$camera, # Camera name
     'dbname|d=s'        => \$dbname, # Database name
     'threads=s'         => \$threads,   # Number of threads to use
@@ -53,19 +56,19 @@
 pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV;
 pod2usage(
-    -msg => "Required options: --sky_id --outroot",
+    -msg => "Required options: --sky_id --outroot --camera (--run_state)",
     -exitval => 3,
           ) unless 
     defined $sky_id and
-    defined $outroot;
-
-my $ipprc = PS::IPP::Config->new() or my_die( "Unable to set up", $sky_id, $PS_EXIT_CONFIG_ERROR ); # IPP configuration
-
-# XXX camera is not known here; cannot use filerules...
-# my $logDest = $ipprc->filename("LOG.EXP", $outroot);
-my $logDest = "$outroot.log";
-$logDest .= ".update" if $run_state eq "update";
+    defined $outroot and
+    defined $camera;
+#   and defined $run_state;
+
+my $ipprc = PS::IPP::Config->new( $camera ) or my_die( "Unable to set up", $sky_id, $PS_EXIT_CONFIG_ERROR ); # IPP configuration
+
+my $logDest = $ipprc->filename("LOG.EXP", $outroot);
+# $logDest .= ".update" if $run_state eq "update";
 $ipprc->redirect_output($logDest) or my_die( "Unable to redirect output", $sky_id, $PS_EXIT_SYS_ERROR ) if $redirect;
 
-my $source_id = $ipprc->source_id($dbname, $PS_TABLE_ID_DIFF);
+# my $source_id = $ipprc->source_id($dbname, $PS_TABLE_ID_STATICSKY);
 
 my $outbase = basename($outroot);
@@ -91,10 +94,7 @@
 }
 
-# XXX do we NEED to define the camera?
-# &my_die("Unable to identify camera", $sky_id, $skycell_id, $PS_EXIT_SYS_ERROR) unless defined $camera;
-# $ipprc->define_camera($camera);
-
 # generate the input 
 print $listFile "INPUT   MULTI\n";
+my $nInputs = @$files;
 
 foreach my $file (@$files) {
@@ -103,4 +103,6 @@
     # XXX if we take the input from 'warp', we will need to make different selections here
     my $path_base = $file->{path_base};
+    print "input: $path_base\n";
+
     my $imageCnv  = $ipprc->filename("PPSTACK.OUTPUT",          $path_base ); # Image name
     my $maskCnv   = $ipprc->filename("PPSTACK.OUTPUT.MASK",     $path_base ); # Mask name
@@ -235,4 +237,5 @@
         # if ($run_state eq 'new') {
 	$command .= " -addresult -path_base $outroot";
+	$command .= " -num_inputs $nInputs";
 	$command .= " $cmdflags";
 	$command .= (" -dtime_script " . ((DateTime->now->mjd - $mjd_start) * 86400));
Index: trunk/ippTools/share/pxadmin_create_tables.sql
===================================================================
--- trunk/ippTools/share/pxadmin_create_tables.sql	(revision 28095)
+++ trunk/ippTools/share/pxadmin_create_tables.sql	(revision 28096)
@@ -1650,4 +1650,5 @@
       dtime_script FLOAT,              -- elapsed time for script
       sources INT,                     -- number of sources
+      num_inputs INT,                  -- number of input images
       hostname VARCHAR(64) NOT NULL,   -- host that executed script
       good_frac FLOAT,                 -- good fraction of skycell
Index: trunk/ippTools/share/staticskytool_inputs.sql
===================================================================
--- trunk/ippTools/share/staticskytool_inputs.sql	(revision 28095)
+++ trunk/ippTools/share/staticskytool_inputs.sql	(revision 28096)
@@ -1,4 +1,5 @@
 SELECT
   staticskyRun.*,
+  staticskyInput.stack_id,
   stackSumSkyfile.path_base
 FROM staticskyRun
Index: trunk/ippTools/src/staticskytool.c
===================================================================
--- trunk/ippTools/src/staticskytool.c	(revision 28095)
+++ trunk/ippTools/src/staticskytool.c	(revision 28096)
@@ -511,5 +511,4 @@
     // required
     PXOPT_LOOKUP_S64(sky_id, config->args, "-sky_id", true, false);
-    PXOPT_LOOKUP_S64(stack_id, config->args, "-stack_id", true, false);
 
     // optional
@@ -520,4 +519,5 @@
     PXOPT_LOOKUP_STR(hostname, config->args, "-hostname", false, false);
     PXOPT_LOOKUP_F32(good_frac, config->args, "-good_frac", false, false);
+    PXOPT_LOOKUP_S32(num_inputs, config->args, "-num_inputs", false, false);
 
     // default values
@@ -533,9 +533,9 @@
     if (!staticskyResultInsert(config->dbh,
 			       sky_id,
-                               stack_id,
                                path_base,
                                dtime_phot,
                                dtime_script,
                                sources,
+			       num_inputs,
                                hostname,
                                good_frac,
Index: trunk/ippTools/src/staticskytoolConfig.c
===================================================================
--- trunk/ippTools/src/staticskytoolConfig.c	(revision 28095)
+++ trunk/ippTools/src/staticskytoolConfig.c	(revision 28096)
@@ -90,9 +90,9 @@
     psMetadata *addresultArgs = psMetadataAlloc();
     psMetadataAddS64(addresultArgs, PS_LIST_TAIL, "-sky_id", 0, "define sky ID (required)", 0);
-    psMetadataAddS64(addresultArgs, PS_LIST_TAIL, "-stack_id", 0, "define stack ID (required)", 0);
     psMetadataAddStr(addresultArgs, PS_LIST_TAIL, "-path_base", 0, "define base output location", 0);
     psMetadataAddF32(addresultArgs, PS_LIST_TAIL, "-dtime_phot", 0, "define photometry time", NAN);
     psMetadataAddF32(addresultArgs, PS_LIST_TAIL, "-dtime_script", 0, "define elapsed time in script (seconds)", NAN);
     psMetadataAddS32(addresultArgs, PS_LIST_TAIL, "-sources", 0, "number of sources", 0);
+    psMetadataAddS32(addresultArgs, PS_LIST_TAIL, "-num_inputs", 0, "number of inputs", 0);
     psMetadataAddStr(addresultArgs, PS_LIST_TAIL, "-hostname", 0, "define hostname", 0);
     psMetadataAddF32(addresultArgs, PS_LIST_TAIL, "-good_frac", 0, "define fraction of good pixels", NAN);
