Index: branches/cnb_branch_20081010/ippTools/configure.ac
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/configure.ac	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/configure.ac	(revision 20043)
@@ -18,5 +18,5 @@
 PKG_CHECK_MODULES([PSLIB], [pslib >= 1.1.0])
 PKG_CHECK_MODULES([PSMODULES], [psmodules >= 1.1.0])
-PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.39]) 
+PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.42]) 
 
 PXTOOLS_CFLAGS="${PSLIB_CFLAGS=} ${PSMODULES_CFLAGS=} ${IPPDB_CFLAGS=}"
Index: branches/cnb_branch_20081010/ippTools/share/camtool_find_chip_id.sql
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/share/camtool_find_chip_id.sql	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/share/camtool_find_chip_id.sql	(revision 20043)
@@ -24,5 +24,5 @@
         rawExp.posang,
         rawExp.object,
-        rawExp.solang
+        rawExp.sun_angle
     FROM chipRun
     JOIN rawExp
Index: branches/cnb_branch_20081010/ippTools/share/camtool_find_pendingimfile.sql
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/share/camtool_find_pendingimfile.sql	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/share/camtool_find_pendingimfile.sql	(revision 20043)
@@ -1,25 +1,8 @@
-SELECT DISTINCT * FROM 
+SELECT DISTINCT * FROM
      -- the subselect is so where criteria can be specified without knowing
      -- which table the field came from
     (SELECT
-        camRun.*,
-        chipProcessedImfile.exp_id,
-        chipProcessedImfile.class_id,
-        chipProcessedImfile.uri,
-        chipProcessedImfile.bg,
-        chipProcessedImfile.bg_stdev,
-        chipProcessedImfile.bg_mean_stdev,
-        chipProcessedImfile.fringe_0,
-        chipProcessedImfile.fringe_1,
-        chipProcessedImfile.fringe_2,
-        chipProcessedImfile.ap_resid,
-        chipProcessedImfile.ap_resid_stdev,
-        chipProcessedImfile.sigma_ra,
-        chipProcessedImfile.sigma_dec,
-        chipProcessedImfile.n_stars,
-        chipProcessedImfile.n_extended,
-        chipProcessedImfile.n_cr,
-        chipProcessedImfile.n_astrom,
-        chipProcessedImfile.path_base,
+        camRun.cam_id,
+        chipProcessedImfile.*,
         rawExp.exp_name,
         rawExp.camera,
@@ -28,9 +11,11 @@
     FROM camRun
     JOIN chipRun
-        USING(chip_id)
+--      ON camRun.chip_id = chipRun.chip_id
+        USING (chip_id)
     JOIN chipProcessedImfile
-        USING(chip_id)
+--      ON camRun.chip_id = chipProcessedImfile.chip_id
+        USING (chip_id)
     JOIN rawExp
-        ON chipProcessedImfile.exp_id = rawExp.exp_id
+      ON chipProcessedImfile.exp_id = rawExp.exp_id
     LEFT JOIN camProcessedExp
         USING(cam_id)
Index: branches/cnb_branch_20081010/ippTools/share/dettool_toresidexp.sql
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/share/dettool_toresidexp.sql	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/share/dettool_toresidexp.sql	(revision 20043)
@@ -67,4 +67,4 @@
     HAVING
         COUNT(rawImfile.class_id) = COUNT(detResidImfile.class_id)
-        AND SUM(detResidImfile.fault = 0)
+        AND SUM(detResidImfile.fault) = 0
     ) AS toresidexp
Index: branches/cnb_branch_20081010/ippTools/share/dettool_toresidimfile.sql
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/share/dettool_toresidimfile.sql	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/share/dettool_toresidimfile.sql	(revision 20043)
@@ -88,4 +88,5 @@
  AND detRunRef.state = 'stop'
  AND detNormalizedImfile.fault = 0
+ AND detProcessedImfile.fault = 0
  AND detResidImfile.det_id IS NULL
  AND detResidImfile.iteration IS NULL
Index: branches/cnb_branch_20081010/ippTools/share/difftool_skyfile.sql
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/share/difftool_skyfile.sql	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/share/difftool_skyfile.sql	(revision 20043)
@@ -5,5 +5,6 @@
     diffSkyfile.*,
     rawExp.exp_id,
-    rawExp.camera
+    rawExp.camera,
+    warpRun.warp_id
 FROM diffRun
 JOIN diffSkyfile
Index: branches/cnb_branch_20081010/ippTools/share/faketool_find_camrun.sql
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/share/faketool_find_camrun.sql	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/share/faketool_find_camrun.sql	(revision 20043)
@@ -25,5 +25,5 @@
         rawExp.posang,
         rawExp.object,
-        rawExp.solang,
+        rawExp.sun_angle,
         rawExp.comment
     FROM camRun
Index: branches/cnb_branch_20081010/ippTools/share/faketool_pendingimfile.sql
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/share/faketool_pendingimfile.sql	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/share/faketool_pendingimfile.sql	(revision 20043)
@@ -15,10 +15,7 @@
         chipProcessedImfile.ap_resid,
         chipProcessedImfile.ap_resid_stdev,
-        chipProcessedImfile.sigma_ra,
-        chipProcessedImfile.sigma_dec,
         chipProcessedImfile.n_stars,
         chipProcessedImfile.n_extended,
         chipProcessedImfile.n_cr,
-        chipProcessedImfile.n_astrom,
         chipProcessedImfile.path_base as chip_path_base,
         camProcessedExp.path_base as cam_path_base,
@@ -44,5 +41,5 @@
             AND fakeProcessedImfile.fake_id IS NULL
             AND fakeProcessedImfile.class_id IS NULL
-        ) 
+        )
         OR (fakeRun.state = 'update'
             AND fakeProcessedImfile.data_state = 'cleaned')
Index: branches/cnb_branch_20081010/ippTools/share/pxadmin_create_tables.sql
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/share/pxadmin_create_tables.sql	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/share/pxadmin_create_tables.sql	(revision 20043)
@@ -280,20 +280,38 @@
     fringe_1 FLOAT,
     fringe_2 FLOAT,
-    sigma_ra FLOAT,
-    sigma_dec FLOAT,
     ap_resid FLOAT,
     ap_resid_stdev FLOAT,
-    zp_mean FLOAT,
-    zp_stdev FLOAT,
     fwhm_major FLOAT,
     fwhm_minor FLOAT,
+    iq_m2 FLOAT,
+    iq_m2_err FLOAT,
+    iq_m2_lq FLOAT,
+    iq_m2_uq FLOAT,
+    iq_m2c FLOAT,
+    iq_m2c_err FLOAT,
+    iq_m2c_lq FLOAT,
+    iq_m2c_uq FLOAT,
+    iq_m2s FLOAT,
+    iq_m2s_err FLOAT,
+    iq_m2s_lq FLOAT,
+    iq_m2s_uq FLOAT,
+    iq_m3 FLOAT,
+    iq_m3_err FLOAT,
+    iq_m3_lq FLOAT,
+    iq_m3_uq FLOAT,
+    iq_m4 FLOAT,
+    iq_m4_err FLOAT,
+    iq_m4_lq FLOAT,
+    iq_m4_uq FLOAT,
     dtime_detrend FLOAT,
     dtime_photom FLOAT,
-    dtime_astrom FLOAT,
+    dtime_total FLOAT,
+    dtime_script FLOAT,
     hostname VARCHAR(64),
     n_stars INT,
+    n_psfstars INT,
+    n_iqstars INT,
     n_extended INT,
     n_cr INT,
-    n_astrom INT,
     path_base VARCHAR(255),
     fault SMALLINT NOT NULL,
@@ -356,9 +374,31 @@
     fwhm_major FLOAT,
     fwhm_minor FLOAT,
-    dtime_detrend FLOAT,
-    dtime_photom FLOAT,
+    iq_m2 FLOAT,
+    iq_m2_err FLOAT,
+    iq_m2_lq FLOAT,
+    iq_m2_uq FLOAT,
+    iq_m2c FLOAT,
+    iq_m2c_err FLOAT,
+    iq_m2c_lq FLOAT,
+    iq_m2c_uq FLOAT,
+    iq_m2s FLOAT,
+    iq_m2s_err FLOAT,
+    iq_m2s_lq FLOAT,
+    iq_m2s_uq FLOAT,
+    iq_m3 FLOAT,
+    iq_m3_err FLOAT,
+    iq_m3_lq FLOAT,
+    iq_m3_uq FLOAT,
+    iq_m4 FLOAT,
+    iq_m4_err FLOAT,
+    iq_m4_lq FLOAT,
+    iq_m4_uq FLOAT,
+    dtime_script FLOAT,
     dtime_astrom FLOAT,
+    dtime_addstar FLOAT,
     hostname VARCHAR(64),
     n_stars INT,
+    n_psfstars INT,
+    n_iqstars INT,
     n_extended INT,
     n_cr INT,
@@ -406,4 +446,5 @@
     uri VARCHAR(255),
     dtime_fake FLOAT,
+    dtime_script FLOAT,
     hostname VARCHAR(64),
     path_base VARCHAR(255),
@@ -787,4 +828,5 @@
     bg_stdev DOUBLE,
     dtime_warp FLOAT,
+    dtime_script FLOAT,
     hostname VARCHAR(64),
     good_frac FLOAT,
@@ -846,4 +888,5 @@
         dtime_final FLOAT,
         dtime_phot FLOAT,
+        dtime_script FLOAT,
         match_mean FLOAT,
         match_stdev FLOAT,
@@ -915,4 +958,5 @@
         dtime_match FLOAT,
         dtime_phot FLOAT,
+        dtime_script FLOAT,
         hostname VARCHAR(64),
         good_frac FLOAT,
Index: branches/cnb_branch_20081010/ippTools/share/warptool_definebyquery.sql
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/share/warptool_definebyquery.sql	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/share/warptool_definebyquery.sql	(revision 20043)
@@ -25,5 +25,5 @@
         rawExp.posang,
         rawExp.object,
-        rawExp.solang
+        rawExp.sun_angle
     FROM fakeRun
     JOIN camRun
@@ -34,3 +34,3 @@
         using(exp_id)
     WHERE
-	fakeRun.state = 'full') as Foo
+        fakeRun.state = 'full') as Foo
Index: branches/cnb_branch_20081010/ippTools/src/camtool.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/camtool.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/camtool.c	(revision 20043)
@@ -105,5 +105,5 @@
     psMetadata *where = psMetadataAlloc();
     pxcamGetSearchArgs (config, where);
-    PXOPT_COPY_STR(config->args, where, "-label", "chipRun.label", "==");
+    PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
 
     if (!psListLength(where->list)
@@ -407,9 +407,38 @@
     PXOPT_LOOKUP_F32(fwhm_major, config->args, "-fwhm_major", false, false);
     PXOPT_LOOKUP_F32(fwhm_minor, config->args, "-fwhm_minor", false, false);
-    PXOPT_LOOKUP_F32(dtime_detrend, config->args, "-dtime_detrend", false, false);
-    PXOPT_LOOKUP_F32(dtime_photom, config->args, "-dtime_photom", false, false);
-    PXOPT_LOOKUP_F32(dtime_astrom, config->args, "-dtime_astrom", false, false);
+
+    PXOPT_LOOKUP_F32(iq_m2,     config->args,      "-iq_m2",     false, false);
+    PXOPT_LOOKUP_F32(iq_m2_err, config->args,      "-iq_m2_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m2_uq,  config->args,      "-iq_m2_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m2_lq,  config->args,      "-iq_m2_lq",  false, false);
+
+    PXOPT_LOOKUP_F32(iq_m2c,     config->args,     "-iq_m2c",     false, false);
+    PXOPT_LOOKUP_F32(iq_m2c_err, config->args,     "-iq_m2c_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m2c_uq,  config->args,     "-iq_m2c_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m2c_lq,  config->args,     "-iq_m2c_lq",  false, false);
+
+    PXOPT_LOOKUP_F32(iq_m2s,     config->args,     "-iq_m2s",     false, false);
+    PXOPT_LOOKUP_F32(iq_m2s_err, config->args,     "-iq_m2s_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m2s_uq,  config->args,     "-iq_m2s_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m2s_lq,  config->args,     "-iq_m2s_lq",  false, false);
+
+    PXOPT_LOOKUP_F32(iq_m3,     config->args,      "-iq_m3",     false, false);
+    PXOPT_LOOKUP_F32(iq_m3_err, config->args,      "-iq_m3_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m3_uq,  config->args,      "-iq_m3_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m3_lq,  config->args,      "-iq_m3_lq",  false, false);
+
+    PXOPT_LOOKUP_F32(iq_m4,     config->args,      "-iq_m4",     false, false);
+    PXOPT_LOOKUP_F32(iq_m4_err, config->args,      "-iq_m4_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m4_uq,  config->args,      "-iq_m4_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m4_lq,  config->args,      "-iq_m4_lq",  false, false);
+
+    PXOPT_LOOKUP_F32(dtime_script, config->args,   "-dtime_script", false, false);
+    PXOPT_LOOKUP_F32(dtime_astrom, config->args,   "-dtime_astrom", false, false);
+    PXOPT_LOOKUP_F32(dtime_addstar, config->args,  "-dtime_addstar", false, false);
+
     PXOPT_LOOKUP_STR(hostname, config->args,       "-hostname", false, false);
     PXOPT_LOOKUP_S32(n_stars, config->args,        "-n_stars", false, false);
+    PXOPT_LOOKUP_S32(n_psfstars, config->args,        "-n_psfstars", false, false);
+    PXOPT_LOOKUP_S32(n_iqstars, config->args,        "-n_iqstars", false, false);
     PXOPT_LOOKUP_S32(n_extended, config->args,     "-n_extended", false, false);
     PXOPT_LOOKUP_S32(n_cr, config->args,           "-n_cr", false, false);
@@ -463,32 +492,54 @@
     psFree(output);
     camProcessedExpRow *row = camProcessedExpRowAlloc(
-            pendingRow->cam_id,
-            uri,
-            bg,
-            bg_stdev,
-            bg_mean_stdev,
-            bias,
-            bias_stdev,
-            fringe_0,
-            fringe_1,
-            fringe_2,
-            sigma_ra,
-            sigma_dec,
-            ap_resid,
-            ap_resid_stdev,
-            zp_mean,
-            zp_stdev,
-            fwhm_major,
-            fwhm_minor,
-            dtime_detrend,
-            dtime_photom,
-            dtime_astrom,
-            hostname,
-            n_stars,
-            n_extended,
-            n_cr,
-            n_astrom,
-            path_base,
-            code
+        pendingRow->cam_id,
+        uri,
+        bg,
+        bg_stdev,
+        bg_mean_stdev,
+        bias,
+        bias_stdev,
+        fringe_0,
+        fringe_1,
+        fringe_2,
+        sigma_ra,
+        sigma_dec,
+        ap_resid,
+        ap_resid_stdev,
+        zp_mean,
+        zp_stdev,
+        fwhm_major,
+        fwhm_minor,
+        iq_m2,
+        iq_m2_err,
+        iq_m2_lq,
+        iq_m2_uq,
+        iq_m2c,
+        iq_m2c_err,
+        iq_m2c_lq,
+        iq_m2c_uq,
+        iq_m2s,
+        iq_m2s_err,
+        iq_m2s_lq,
+        iq_m2s_uq,
+        iq_m3,
+        iq_m3_err,
+        iq_m3_lq,
+        iq_m3_uq,
+        iq_m4,
+        iq_m4_err,
+        iq_m4_lq,
+        iq_m4_uq,
+        dtime_script,
+        dtime_astrom,
+        dtime_addstar,
+        hostname,
+        n_stars,
+        n_psfstars,
+        n_iqstars,
+        n_extended,
+        n_cr,
+        n_astrom,
+        path_base,
+        code
         );
 
Index: branches/cnb_branch_20081010/ippTools/src/camtoolConfig.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/camtoolConfig.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/camtoolConfig.c	(revision 20043)
@@ -114,9 +114,33 @@
     psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-fwhm_major", 0,            "define FWHM (major axis; arcsec)", NAN);
     psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-fwhm_minor", 0,            "define FWHM (minor axis; arcsec)", NAN);
-    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-dtime_detrend", 0,            "define elapsed detrend processing time (seconds)", NAN);
-    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-dtime_photom", 0,            "define elapsed photometry processing time (seconds)", NAN);
-    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-dtime_astrom", 0,            "define elapsed astrometry processing time (seconds)", NAN);
+
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2",     0,  "define moment value m2 mean", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2_err", 0,  "define moment value m2 stdev", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2_lq",  0,  "define moment value m2 lower quartile", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2_uq",  0,  "define moment value m2 upper quartile", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2c",     0,  "define moment value m2c mean", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2c_err", 0,  "define moment value m2c stdev", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2c_lq",  0,  "define moment value m2c lower quartile", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2c_uq",  0,  "define moment value m2c upper quartile", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2s",     0,  "define moment value m2s mean", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2s_err", 0,  "define moment value m2s stdev", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2s_lq",  0,  "define moment value m2s lower quartile", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m2s_uq",  0,  "define moment value m2s upper quartile", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m3",     0,  "define moment value m3 mean", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m3_err", 0,  "define moment value m3 stdev", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m3_lq",  0,  "define moment value m3 lower quartile", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m3_uq",  0,  "define moment value m3 upper quartile", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m4",     0,  "define moment value m4 mean", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m4_err", 0,  "define moment value m4 stdev", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m4_lq",  0,  "define moment value m4 lower quartile", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-iq_m4_uq",  0,  "define moment value m4 upper quartile", NAN);
+
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-dtime_script", 0, "define elapsed time in script (seconds)", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-dtime_astrom", 0, "define elapsed time for astrometry (seconds)", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-dtime_addstar", 0, "define elapsed time for DVO insertion (seconds)", NAN);
     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-hostname", 0,            "define hostname", NULL);
     psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-n_stars", 0,            "define number of stars", 0);
+    psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-n_psfstars", 0,            "define number of PSF stars", 0);
+    psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-n_iqstars", 0,            "define number of IQ stars", 0);
     psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-n_extended", 0,            "define number of extended objects", 0);
     psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-n_cr", 0,            "define number of cosmic rays", 0);
Index: branches/cnb_branch_20081010/ippTools/src/chiptool.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/chiptool.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/chiptool.c	(revision 20043)
@@ -358,21 +358,45 @@
     PXOPT_LOOKUP_F32(fringe_1, config->args,       "-fringe_1", false, false);
     PXOPT_LOOKUP_F32(fringe_2, config->args,       "-fringe_2", false, false);
-    PXOPT_LOOKUP_F32(sigma_ra, config->args,       "-sigma_ra", false, false);
-    PXOPT_LOOKUP_F32(sigma_dec, config->args,      "-sigma_dec", false, false);
     PXOPT_LOOKUP_F32(ap_resid, config->args,       "-ap_resid", false, false);
     PXOPT_LOOKUP_F32(ap_resid_stdev, config->args, "-ap_resid_stdev", false, false);
-    PXOPT_LOOKUP_F32(zp_mean, config->args,        "-zp_mean", false, false);
-    PXOPT_LOOKUP_F32(zp_stdev, config->args,       "-zp_stdev", false, false);
     PXOPT_LOOKUP_F32(fwhm_major, config->args,     "-fwhm_major", false, false);
     PXOPT_LOOKUP_F32(fwhm_minor, config->args,     "-fwhm_minor", false, false);
+
+    PXOPT_LOOKUP_F32(iq_m2,     config->args,      "-iq_m2",     false, false);
+    PXOPT_LOOKUP_F32(iq_m2_err, config->args,      "-iq_m2_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m2_uq,  config->args,      "-iq_m2_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m2_lq,  config->args,      "-iq_m2_lq",  false, false);
+
+    PXOPT_LOOKUP_F32(iq_m2c,     config->args,     "-iq_m2c",     false, false);
+    PXOPT_LOOKUP_F32(iq_m2c_err, config->args,     "-iq_m2c_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m2c_uq,  config->args,     "-iq_m2c_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m2c_lq,  config->args,     "-iq_m2c_lq",  false, false);
+
+    PXOPT_LOOKUP_F32(iq_m2s,     config->args,     "-iq_m2s",     false, false);
+    PXOPT_LOOKUP_F32(iq_m2s_err, config->args,     "-iq_m2s_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m2s_uq,  config->args,     "-iq_m2s_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m2s_lq,  config->args,     "-iq_m2s_lq",  false, false);
+
+    PXOPT_LOOKUP_F32(iq_m3,     config->args,      "-iq_m3",     false, false);
+    PXOPT_LOOKUP_F32(iq_m3_err, config->args,      "-iq_m3_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m3_uq,  config->args,      "-iq_m3_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m3_lq,  config->args,      "-iq_m3_lq",  false, false);
+
+    PXOPT_LOOKUP_F32(iq_m4,     config->args,      "-iq_m4",     false, false);
+    PXOPT_LOOKUP_F32(iq_m4_err, config->args,      "-iq_m4_err", false, false);
+    PXOPT_LOOKUP_F32(iq_m4_uq,  config->args,      "-iq_m4_uq",  false, false);
+    PXOPT_LOOKUP_F32(iq_m4_lq,  config->args,      "-iq_m4_lq",  false, false);
+
     PXOPT_LOOKUP_F32(dtime_detrend, config->args,  "-dtime_detrend", false, false);
     PXOPT_LOOKUP_F32(dtime_photom,  config->args,  "-dtime_photom",  false, false);
-    PXOPT_LOOKUP_F32(dtime_astrom,  config->args,  "-dtime_astrom",  false, false);
+    PXOPT_LOOKUP_F32(dtime_total,  config->args,   "-dtime_total",  false, false);
+    PXOPT_LOOKUP_F32(dtime_script, config->args,   "-dtime_script", false, false);
     PXOPT_LOOKUP_STR(hostname, config->args,       "-hostname", false, false);
-    PXOPT_LOOKUP_F32(n_stars, config->args, "-n_stars", false, false);
-    PXOPT_LOOKUP_F32(n_extended, config->args, "-n_extended", false, false);
-    PXOPT_LOOKUP_F32(n_cr, config->args, "-n_cr", false, false);
-    PXOPT_LOOKUP_F32(n_astrom, config->args, "-n_astrom", false, false);
-    PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", false, false);
+    PXOPT_LOOKUP_F32(n_stars, config->args,    	   "-n_stars", false, false);
+    PXOPT_LOOKUP_F32(n_psfstars, config->args,	   "-n_psfstars", false, false);
+    PXOPT_LOOKUP_F32(n_iqstars, config->args, 	   "-n_iqstars", false, false);
+    PXOPT_LOOKUP_F32(n_extended, config->args, 	   "-n_extended", false, false);
+    PXOPT_LOOKUP_F32(n_cr, config->args,       	   "-n_cr", false, false);
+    PXOPT_LOOKUP_STR(path_base, config->args,  	   "-path_base", false, false);
 
     // default values
@@ -398,20 +422,43 @@
                                    fringe_1,
                                    fringe_2,
-                                   sigma_ra,
-                                   sigma_dec,
                                    ap_resid,
                                    ap_resid_stdev,
-                                   zp_mean,
-                                   zp_stdev,
                                    fwhm_major,
                                    fwhm_minor,
+				   iq_m2,
+				   iq_m2_err,
+				   iq_m2_lq,
+				   iq_m2_uq,
+
+				   iq_m2c,
+				   iq_m2c_err,
+				   iq_m2c_lq,
+				   iq_m2c_uq,
+
+				   iq_m2s,
+				   iq_m2s_err,
+				   iq_m2s_lq,
+				   iq_m2s_uq,
+
+				   iq_m3,
+				   iq_m3_err,
+				   iq_m3_lq,
+				   iq_m3_uq,
+
+				   iq_m4,
+				   iq_m4_err,
+				   iq_m4_lq,
+				   iq_m4_uq,
+
                                    dtime_detrend,
                                    dtime_photom,
-                                   dtime_astrom,
+                                   dtime_total,
+                                   dtime_script,
                                    hostname,
                                    n_stars,
+                                   n_psfstars,
+                                   n_iqstars,
                                    n_extended,
                                    n_cr,
-                                   n_astrom,
                                    path_base,
                                    code
Index: branches/cnb_branch_20081010/ippTools/src/chiptoolConfig.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/chiptoolConfig.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/chiptoolConfig.c	(revision 20043)
@@ -94,20 +94,44 @@
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,            "define fringe term 1", NAN);
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,            "define fringe term 2", NAN);
-    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-sigma_ra",  0,            "define error in RA", NAN);
-    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-sigma_dec",  0,            "define error in DEC", NAN);
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-ap_resid",  0,            "define aperture residual", NAN);
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-ap_resid_stdev",  0,            "define aperture residual stdev", NAN);
-    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-zp_mean",  0,            "define zero point", NAN);
-    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-zp_stdev",  0,            "define zero point stdev", NAN);
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-fwhm_major",  0,            "define fwhm (major axis; arcsec)", NAN);
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-fwhm_minor",  0,            "define fwhm (minor axis; arcsec)", NAN);
+
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2",     0,  "define moment value m2 mean", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2_err", 0,  "define moment value m2 stdev", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2_lq",  0,  "define moment value m2 lower quartile", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2_uq",  0,  "define moment value m2 upper quartile", NAN);
+
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2c",     0,  "define moment value m2c mean", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2c_err", 0,  "define moment value m2c stdev", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2c_lq",  0,  "define moment value m2c lower quartile", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2c_uq",  0,  "define moment value m2c upper quartile", NAN);
+
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2s",     0,  "define moment value m2s mean", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2s_err", 0,  "define moment value m2s stdev", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2s_lq",  0,  "define moment value m2s lower quartile", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m2s_uq",  0,  "define moment value m2s upper quartile", NAN);
+
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m3",     0,  "define moment value m3 mean", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m3_err", 0,  "define moment value m3 stdev", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m3_lq",  0,  "define moment value m3 lower quartile", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m3_uq",  0,  "define moment value m3 upper quartile", NAN);
+
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m4",     0,  "define moment value m4 mean", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m4_err", 0,  "define moment value m4 stdev", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m4_lq",  0,  "define moment value m4 lower quartile", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-iq_m4_uq",  0,  "define moment value m4 upper quartile", NAN);
+
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-dtime_detrend",  0,            "define elapsed time for detrend (seconds)", NAN);
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-dtime_photom",  0,            "define elapsed time for photometry (seconds)", NAN);
-    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-dtime_astrom",  0,            "define elapsed time for astrometry (seconds)", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-dtime_total",  0,            "define total elapsed time (seconds)", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-dtime_script",  0, "define elapsed time in script (seconds)", NAN);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-hostname",  0,            "define hostname", NULL);
     psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_stars",  0,            "define number of stars in image", 0);
+    psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_psfstars",  0,          "define number of stars used for psf", 0);
+    psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_iqstars",  0,          "define number of stars used for IQ stats", 0);
     psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_extended",  0,            "define number of extended objects in image", 0);
     psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_cr",  0,            "define number of cosmic rays in image", 0);
-    psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_astrom",  0,            "define number of astrometry stars used", 0);
 
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
Index: branches/cnb_branch_20081010/ippTools/src/dettool.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/dettool.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/dettool.c	(revision 20043)
@@ -245,9 +245,9 @@
     PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", true, false);
     PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", true, false);
-    if (!strncmp(mode, "verify", 7) && ((ref_det_id == 0) || (ref_iter == -1))) {
+    if (!strcmp(mode, "verify") && ((ref_det_id == 0) || (ref_iter == -1))) {
         psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter");
         return false;
     } 
-    if (strncmp(mode, "verify", 7) && ((ref_det_id != 0) || (ref_iter != -1))) {
+    if (strcmp(mode, "verify") && ((ref_det_id != 0) || (ref_iter != -1))) {
         psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set");
         return false;
@@ -280,32 +280,24 @@
     PXOPT_LOOKUP_TIME(registered, config->args, "-registered", false, false);
 
-    // we have to support multipe exp_ids
+    // we have to support multiple exp_ids
     psMetadataItem *item = psMetadataLookup(config->args, "-exp_id");
     if (!item) {
         // this shouldn't actually happen when using psArgs
-        psError(PS_ERR_UNKNOWN, true, "-exp_id is required");
+        psError(PS_ERR_UNKNOWN, true, "at least one -exp_id is required");
         return false;
     }
     psMetadata *where = psMetadataAlloc();
 
+    if ((item->type != PS_DATA_METADATA_MULTI) && (item->type != PS_DATA_S64)) {
+        psAbort("-exp_id was not parsed correctly (this should not happen");
+    }
+
     // make sure that -exp_id was parsed correctly
-    // XXX this can be removed someday
-    // XXX Special case for a multi : move into a macro?
     if (item->type == PS_DATA_METADATA_MULTI) {
         psListIterator *iter = psListIteratorAlloc(item->data.list, 0, false);
         psMetadataItem *mItem = NULL;
         while ((mItem = psListGetAndIncrement(iter))) {
-            psString exp_id = mItem->data.V;
-            // if exp_id is NULL then it means that -exp_id has not been
-            // specified
-            if (!exp_id) {
-                psError(PS_ERR_UNKNOWN, true,
-                        "at least one -exp_id is required");
-                psFree(where);
-                return false;
-            }
-
-            if (!psMetadataAddStr(where, PS_LIST_TAIL, "exp_id",
-                 PS_META_DUPLICATE_OK, "==", exp_id)) {
+	    psS64 exp_id = mItem->data.S64;
+            if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", PS_META_DUPLICATE_OK, "==", exp_id)) {
                 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
                 psFree(iter);
@@ -315,7 +307,13 @@
         }
         psFree(iter);
-    } else {
-        psAbort(                "-exp_id was not parsed correctly (this should not happen");
-    }
+    } 
+    if (item->type == PS_DATA_S64) {
+	psS64 exp_id = item->data.S64;
+	if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", PS_META_DUPLICATE_OK, "==", exp_id)) {
+	    psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
+	    psFree(where);
+	    return false;
+	}
+    } 
 
     if (psListLength(where->list) < 1) {
@@ -494,9 +492,9 @@
     PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", false, false);
     PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", false, false);
-    if (!strncmp(mode, "verify", 7) && ((ref_det_id == 0) || (ref_iter == -1))) {
+    if (!strcmp(mode, "verify") && ((ref_det_id == 0) || (ref_iter == -1))) {
         psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter");
         return false;
     } 
-    if (strncmp(mode, "verify", 7) && ((ref_det_id != 0) || (ref_iter != -1))) {
+    if (strcmp(mode, "verify") && ((ref_det_id != 0) || (ref_iter != -1))) {
         psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set");
         return false;
@@ -734,9 +732,9 @@
     PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", false, false);
     PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", false, false);
-    if (!strncmp(mode, "verify", 7) && ((ref_det_id == 0) || (ref_iter == -1))) {
+    if (!strcmp(mode, "verify") && ((ref_det_id == 0) || (ref_iter == -1))) {
         psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter");
         return false;
     } 
-    if (strncmp(mode, "verify", 7) && ((ref_det_id != 0) || (ref_iter != -1))) {
+    if (strcmp(mode, "verify") && ((ref_det_id != 0) || (ref_iter != -1))) {
         psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set");
         return false;
@@ -920,7 +918,12 @@
 
     // additional restriction on the detInputExp's to be selected
-    PXOPT_COPY_TIME(config->args, input_filter, "-set_input_begin", "dateobs", ">=");
-    PXOPT_COPY_TIME(config->args, input_filter, "-set_input_end", "dateobs", "<");
-
+    PXOPT_LOOKUP_TIME(input_begin, config->args, "-set_input_begin", false, false);
+    if (input_begin) {
+      PXOPT_COPY_TIME(config->args, input_filter, "-set_input_begin", "dateobs", ">=");
+    }
+    PXOPT_LOOKUP_TIME(input_end, config->args, "-set_input_end", false, false);
+    if (input_end) {
+      PXOPT_COPY_TIME(config->args, input_filter, "-set_input_end", "dateobs", "<");
+    }
     PXOPT_LOOKUP_BOOL(only_accepted, config->args, "-only_accepted", false); // optional
 
@@ -962,8 +965,5 @@
 
     if (only_accepted) {
-        psString whereClause = NULL;
-	psStringAppend(&whereClause, " AND accept = 1");
-        psStringAppend(&query, " AND %s", whereClause);
-        psFree(whereClause);
+	psStringAppend(&query, " AND accept = 1");
     }
 
@@ -1770,25 +1770,29 @@
     PS_ASSERT_PTR_NON_NULL(state, false);
 
-    // check that state is a valid string value
-    if (!(
-            (strncmp(state, "run", 4) == 0)
-            || (strncmp(state, "stop", 5) == 0)
-            || (strncmp(state, "drop", 5) == 0)
-            || (strncmp(state, "register", 4) == 0)
-        )
-    ) {
-        psError(PS_ERR_UNKNOWN, false,
-                "invalid detRun state: %s", state);
-        return false;
-    }
+    if (!isValidDetRunState (state)) return false;
 
     char *query = "UPDATE detRun SET state = '%s' WHERE det_id = %" PRId64;
     if (!p_psDBRunQuery(config->dbh, query, state, det_id)) {
-        psError(PS_ERR_UNKNOWN, false,
-                "failed to change state for det_id %" PRId64, det_id);
-        return false;
-    }
-
-    return true;
+        psError(PS_ERR_UNKNOWN, false, "failed to change state for det_id %" PRId64, det_id);
+        return false;
+    }
+
+    return true;
+}
+
+// the detRun states are a superset of the data states below
+bool isValidDetRunState (const char *state) {
+
+    // check that state is a valid string value
+    if (!strcmp(state, "run")) return true;
+    if (!strcmp(state, "stop")) return true;
+    if (!strcmp(state, "drop")) return true;
+    if (!strcmp(state, "wait")) return true;
+    if (!strcmp(state, "test")) return true;
+    if (!strcmp(state, "ignore")) return true;
+    if (!strcmp(state, "register")) return true;
+
+    psError(PS_ERR_UNKNOWN, true, "invalid detRun state: %s", state);
+    return false;
 }
 
@@ -1796,8 +1800,8 @@
 
     // check that state is a valid string value
-    if (!strncmp(data_state, "run", 4)) return true;
-    if (!strncmp(data_state, "stop", 5)) return true;
-    if (!strncmp(data_state, "drop", 5)) return true;
-    if (!strncmp(data_state, "register", 4)) return true;
+    if (!strcmp(data_state, "run")) return true;
+    if (!strcmp(data_state, "stop")) return true;
+    if (!strcmp(data_state, "drop")) return true;
+    if (!strcmp(data_state, "register")) return true;
 
     psError(PS_ERR_UNKNOWN, true, "invalid data state: %s", data_state);
@@ -1811,6 +1815,6 @@
 
     // check that state is a valid string value
-    if (!strncmp(mode, "master", 7)) return true;
-    if (!strncmp(mode, "verify", 7)) return true;
+    if (!strcmp(mode, "master")) return true;
+    if (!strcmp(mode, "verify")) return true;
 
     psError(PS_ERR_UNKNOWN, false, "invalid detRun mode: %s", mode);
Index: branches/cnb_branch_20081010/ippTools/src/dettool.h
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/dettool.h	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/dettool.h	(revision 20043)
@@ -210,4 +210,5 @@
 bool startNewIteration(pxConfig *config, psS64 det_id);
 bool setDetRunState(pxConfig *config, psS64 det_id, const char *state);
+bool isValidDetRunState (const char *state);
 bool isValidDataState (const char *data_state);
 bool isValidMode(pxConfig *config, const char *mode);
Index: branches/cnb_branch_20081010/ippTools/src/dettoolConfig.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/dettoolConfig.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/dettoolConfig.c	(revision 20043)
@@ -164,8 +164,8 @@
     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_label",  0,            "define detrun label", NULL);
     psMetadataAddBool(definebydetrunArgs, PS_LIST_TAIL, "-simple", 0,            "use the simple output format", false);
-    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_input_begin", 0,     "require input exp to be in this period", NULL);
-    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_input_end", 0,       "require input exp to be in this period", NULL);
+    psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_input_begin", 0,     "input exp must be in this period", NULL);
+    psMetadataAddTime(definebydetrunArgs, PS_LIST_TAIL, "-set_input_end", 0,       "input exp must be in this period", NULL);
     psMetadataAddBool(definebydetrunArgs, PS_LIST_TAIL, "-only_accepted", 0,       "limit input exp to those accepted in the source detRun", false);
-    psMetadataAddS32(definebydetrunArgs, PS_LIST_TAIL, "-iteration",  0,            "det ID to base a new detRun on (required)", -1);
+    psMetadataAddS32(definebydetrunArgs, PS_LIST_TAIL, "-iteration",  0,            "det ID to base a new detRun on", -1);
 
     // *** these are in dettool_correction.c ***
Index: branches/cnb_branch_20081010/ippTools/src/difftool.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/difftool.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/difftool.c	(revision 20043)
@@ -481,4 +481,5 @@
     PXOPT_LOOKUP_F32(dtime_match, config->args, "-dtime_match", false, false);
     PXOPT_LOOKUP_F32(dtime_phot, config->args, "-dtime_phot", false, false);
+    PXOPT_LOOKUP_F32(dtime_script, config->args, "-dtime_script", false, false);
     PXOPT_LOOKUP_S32(stamps_num, config->args, "-stamps_num", false, false);
     PXOPT_LOOKUP_F32(stamps_mean, config->args, "-stamps_mean", false, false);
@@ -506,4 +507,5 @@
                            dtime_match,
                            dtime_phot,
+                           dtime_script,
                            hostname,
                            good_frac,
Index: branches/cnb_branch_20081010/ippTools/src/difftoolConfig.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/difftoolConfig.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/difftoolConfig.c	(revision 20043)
@@ -98,4 +98,5 @@
     psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-dtime_match", 0, "define match processing time", NAN);
     psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-dtime_phot", 0, "define photometry processing time", NAN);
+    psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-dtime_script", 0, "define elapsed time in script (seconds)", NAN);
     psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_num",  0,            "define subtraction stamp number", 0);
     psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-stamps_mean", 0, "define subtraction stamp mean", NAN);
Index: branches/cnb_branch_20081010/ippTools/src/faketool.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/faketool.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/faketool.c	(revision 20043)
@@ -89,5 +89,5 @@
         MODECASE(FAKETOOL_MODE_TOFULLIMFILE,            tofullimfileMode);
         MODECASE(FAKETOOL_MODE_TOPURGEDIMFILE,          topurgedimfileMode);
- 
+
         default:
             psAbort("invalid option (this should not happen)");
@@ -487,4 +487,5 @@
 
     PXOPT_LOOKUP_F32(dtime_fake, config->args,  "-dtime_fake", false, false);
+    PXOPT_LOOKUP_F32(dtime_script, config->args, "-dtime_script", false, false);
     PXOPT_LOOKUP_STR(hostname, config->args,    "-hostname", false, false);
     PXOPT_LOOKUP_STR(path_base, config->args,   "-path_base", false, false);
@@ -504,4 +505,5 @@
                                    uri,
                                    dtime_fake,
+                                   dtime_script,
                                    hostname,
                                    path_base,
@@ -1172,5 +1174,5 @@
         return false;
     }
-    
+
     query = pxDataGet("faketool_change_exp_state.sql");
     if (!p_psDBRunQuery(config->dbh, query, data_state, fake_id, data_state)) {
Index: branches/cnb_branch_20081010/ippTools/src/faketoolConfig.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/faketoolConfig.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/faketoolConfig.c	(revision 20043)
@@ -172,4 +172,5 @@
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-uri",  0,            "define URL", NULL);
     psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-dtime_fake",  0,            "define elapsed time for detrend (seconds)", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-dtime_script", 0, "define elapsed time in script (seconds)", NAN);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-hostname",  0,            "define hostname", NULL);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
Index: branches/cnb_branch_20081010/ippTools/src/stacktool.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/stacktool.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/stacktool.c	(revision 20043)
@@ -699,4 +699,5 @@
     PXOPT_LOOKUP_F32(dtime_final, config->args, "-dtime_final", false, false);
     PXOPT_LOOKUP_F32(dtime_phot, config->args, "-dtime_phot", false, false);
+    PXOPT_LOOKUP_F32(dtime_script, config->args, "-dtime_script", false, false);
     PXOPT_LOOKUP_F32(match_mean, config->args, "-match_mean", false, false);
     PXOPT_LOOKUP_F32(match_stdev, config->args, "-match_stdev", false, false);
@@ -736,4 +737,5 @@
                                dtime_final,
                                dtime_phot,
+                               dtime_script,
                                match_mean,
                                match_stdev,
Index: branches/cnb_branch_20081010/ippTools/src/stacktoolConfig.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/stacktoolConfig.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/stacktoolConfig.c	(revision 20043)
@@ -133,4 +133,5 @@
     psMetadataAddF32(addsumskyfileArgs, PS_LIST_TAIL, "-dtime_final", 0, "define final stack time", NAN);
     psMetadataAddF32(addsumskyfileArgs, PS_LIST_TAIL, "-dtime_phot", 0, "define photometry time", NAN);
+    psMetadataAddF32(addsumskyfileArgs, PS_LIST_TAIL, "-dtime_script", 0, "define elapsed time in script (seconds)", NAN);
 
     psMetadataAddF32(addsumskyfileArgs, PS_LIST_TAIL, "-match_mean", 0, "define mean matching deviation", NAN);
Index: branches/cnb_branch_20081010/ippTools/src/warptool.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/warptool.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/warptool.c	(revision 20043)
@@ -903,4 +903,5 @@
     PXOPT_LOOKUP_F64(bg_stdev, config->args, "-bg_stdev", false, false);
     PXOPT_LOOKUP_F32(dtime_warp, config->args, "-dtime_warp", false, false);
+    PXOPT_LOOKUP_F32(dtime_script, config->args, "-dtime_script", false, false);
     PXOPT_LOOKUP_S32(xmin, config->args, "-xmin", false, false);
     PXOPT_LOOKUP_S32(xmax, config->args, "-xmax", false, false);
@@ -932,4 +933,5 @@
                            bg_stdev,
                            dtime_warp,
+                           dtime_script,
                            hostname,
                            good_frac,
Index: branches/cnb_branch_20081010/ippTools/src/warptoolConfig.c
===================================================================
--- branches/sj_ippTests_branch_20080929/ippTools/src/warptoolConfig.c	(revision 19785)
+++ branches/cnb_branch_20081010/ippTools/src/warptoolConfig.c	(revision 20043)
@@ -228,4 +228,5 @@
     psMetadataAddF64(addwarpedArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     psMetadataAddF32(addwarpedArgs, PS_LIST_TAIL, "-dtime_warp",  0,            "define elapsed processing time", NAN);
+    psMetadataAddF32(addwarpedArgs, PS_LIST_TAIL, "-dtime_script", 0, "define elapsed time in script (seconds)", NAN);
     psMetadataAddS32(addwarpedArgs, PS_LIST_TAIL, "-xmin",  0,            "define minimum x value", INT_MAX);
     psMetadataAddS32(addwarpedArgs, PS_LIST_TAIL, "-xmax",  0,            "define maximum x value", -INT_MAX);
