Index: trunk/ippTasks/detrend.norm.pro
===================================================================
--- trunk/ippTasks/detrend.norm.pro	(revision 16173)
+++ trunk/ippTasks/detrend.norm.pro	(revision 16195)
@@ -153,5 +153,5 @@
     book getword detPendingNormStatImfile $pageName iteration -var ITERATION
     book getword detPendingNormStatImfile $pageName camera    -var CAMERA  
-    book getword detPendingNormStatImfile $pageName workdir   -var WORKDIR
+    book getword detPendingNormStatImfile $pageName workdir   -var WORKDIR_TEMPLATE
     book getword detPendingNormStatImfile $pageName dbname    -var DBNAME
 
@@ -159,19 +159,18 @@
     set.host.for.camera $camera FPA
 
-    if ("$WORKDIR" == "NULL")
-      $outpath = `pwd`
-    else
-      $outpath = `ipp_datapath.pl $WORKDIR`
-    end
-    $outpath = $outpath/$CAMERA.$DET_TYPE.$DET_ID
-    $logfile = $outpath/$CAMERA.$DET_TYPE.norm.$DET_ID.$ITERATION.log
+    # set workdir (interpolate host; see camera.pro for examples)
+    set.workdir.by.camera $CAMERA FPA $WORKDIR_TEMPLATE $default_host WORKDIR
+
+    ## generate outroot specific to this exposure (& chip)
+    sprintf outroot "%s/%s.%s.%s/%s.%s.norm.%s.%s" $WORKDIR $CAMERA $DET_TYPE $DET_ID $CAMERA $DET_TYPE $DET_ID $ITERATION
+
+    ## generate output log (NOT based on filerule?)
+    $logfile = "$outroot.log"
+    $logfile = `ipp_datapath.pl $logfile`
+
     stdout $logfile
     stderr $logfile
-    exec mkdir -p $outpath
-
-    $run = detrend_norm_calc.pl --det_id $DET_ID --iteration $ITERATION --det_type $DET_TYPE
-    if ("$WORKDIR" != "NULL")
-      $run = $run --workdir $WORKDIR
-    end
+
+    $run = detrend_norm_calc.pl --det_id $DET_ID --iteration $ITERATION --det_type $DET_TYPE --outroot $outroot
     add_standard_args run
 
@@ -271,5 +270,5 @@
     book getword detPendingNormImfile $pageName class_id  -var CLASS_ID 
     book getword detPendingNormImfile $pageName norm      -var NORM     
-    book getword detPendingNormImfile $pageName workdir   -var WORKDIR
+    book getword detPendingNormImfile $pageName workdir   -var WORKDIR_TEMPLATE
     book getword detPendingNormImfile $pageName dbname    -var DBNAME
 
@@ -277,20 +276,18 @@
     set.host.for.camera $camera $class_id
 
-    # XXX use ipp_filename.pl to lookup output file names
-    if ("$WORKDIR" == "NULL")
-      $outpath = `pwd`
-    else
-      $outpath = `ipp_datapath.pl $WORKDIR`
-    end
-    $outpath = $outpath/$CAMERA.$DET_TYPE.$DET_ID
-    $logfile = $outpath/$CAMERA.$DET_TYPE.norm.$DET_ID.$ITERATION.$CLASS_ID.log
+    # set workdir (interpolate host; see camera.pro for examples)
+    set.workdir.by.camera $CAMERA $CLASS_ID $WORKDIR_TEMPLATE $default_host WORKDIR
+
+    ## generate outroot specific to this stack (& chip)
+    sprintf outroot "%s/%s.%s.%s/%s.%s.norm.%s.%s.%s" $WORKDIR $CAMERA $DET_TYPE $DET_ID $CAMERA $DET_TYPE $DET_ID $ITERATION $CLASS_ID
+
+    ## generate output log (NOT based on filerule?)
+    $logfile = "$outroot.log"
+    $logfile = `ipp_datapath.pl $logfile`
+
     stdout $logfile
     stderr $logfile
-    exec mkdir -p $outpath
-
-    $run = detrend_norm_apply.pl --det_id $DET_ID --iteration $ITERATION --class_id $CLASS_ID --value $NORM --input_uri $URI --camera $CAMERA --det_type $DET_TYPE
-    if ("$WORKDIR" != "NULL")
-      $run = $run --workdir $WORKDIR
-    end
+
+    $run = detrend_norm_apply.pl --det_id $DET_ID --iteration $ITERATION --class_id $CLASS_ID --value $NORM --input_uri $URI --camera $CAMERA --det_type $DET_TYPE --outroot $outroot
     add_standard_args run
     
@@ -387,5 +384,5 @@
     book getword detPendingNormExp $pageName det_type  -var DET_TYPE
     book getword detPendingNormExp $pageName camera    -var CAMERA  
-    book getword detPendingNormExp $pageName workdir   -var WORKDIR
+    book getword detPendingNormExp $pageName workdir   -var WORKDIR_TEMPLATE
     book getword detPendingNormExp $pageName dbname    -var DBNAME
 
@@ -393,20 +390,18 @@
     set.host.for.camera $camera FPA
 
-    # XXX add $WORKDIR/$LOG_DIR
-    if ("$WORKDIR" == "NULL")
-      $outpath = `pwd`
-    else
-      $outpath = `ipp_datapath.pl $WORKDIR`
-    end
-    $outpath = $outpath/$CAMERA.$DET_TYPE.$DET_ID
-    $logfile = $outpath/$CAMERA.$DET_TYPE.norm.$DET_ID.$ITERATION.log
+    # set workdir (interpolate host; see camera.pro for examples)
+    set.workdir.by.camera $CAMERA FPA $WORKDIR_TEMPLATE $default_host WORKDIR
+
+    ## generate outroot specific to this exposure (& chip)
+    sprintf outroot "%s/%s.%s.%s/%s.%s.norm.%s.%s" $WORKDIR $CAMERA $DET_TYPE $DET_ID $CAMERA $DET_TYPE $DET_ID $ITERATION
+
+    ## generate output log (NOT based on filerule?)
+    $logfile = "$outroot.log"
+    $logfile = `ipp_datapath.pl $logfile`
+
     stdout $logfile
     stderr $logfile
-    exec mkdir -p $outpath
-
-    $run = detrend_norm_exp.pl --det_id $DET_ID --iteration $ITERATION --camera $CAMERA --det_type $DET_TYPE 
-    if ("$WORKDIR" != "NULL")
-      $run = $run --workdir $WORKDIR
-    end
+
+    $run = detrend_norm_exp.pl --det_id $DET_ID --iteration $ITERATION --camera $CAMERA --det_type $DET_TYPE  --outroot $outroot
     add_standard_args run
 
