Index: /branches/eam_branch_20080121/ippTasks/register.pro
===================================================================
--- /branches/eam_branch_20080121/ippTasks/register.pro	(revision 16192)
+++ /branches/eam_branch_20080121/ippTasks/register.pro	(revision 16193)
@@ -137,10 +137,11 @@
     book setword regPendingImfile $pageName pantaskState RUN
 
-    book getword regPendingImfile $pageName exp_id -var EXP_ID
+    book getword regPendingImfile $pageName exp_id       -var EXP_ID
     book getword regPendingImfile $pageName tmp_exp_name -var TMP_EXP_NAME
+    book getword regPendingImfile $pageName tmp_camera   -var TMP_CAMERA
     book getword regPendingImfile $pageName tmp_class_id -var TMP_CLASS_ID
-    book getword regPendingImfile $pageName uri -var URI
-    book getword regPendingImfile $pageName workdir -var WORKDIR_TEMPLATE
-    book getword regPendingImfile $pageName dbname -var DBNAME
+    book getword regPendingImfile $pageName uri          -var URI
+    book getword regPendingImfile $pageName workdir      -var WORKDIR_TEMPLATE
+    book getword regPendingImfile $pageName dbname       -var DBNAME
 
     # EXP_TAG is used to generate the unique, but human-readable, filenames
@@ -148,26 +149,26 @@
 
     # specify choice of remote host
-    set.host.for.camera $camera $class_id
-
-    # we need to set the workdir based on 1) nebulous or not? 2) chip/host relationship
-    # this function uses workdir_template, workdir_default, volume_template, volume_default,
-    # it sets workdir and volume
-    ### this function needs to be improved: it is using fixed input and output var names
-    ### do we want these types of small outputs to go to a common filesystem?
-    set.workdir.by.camera $CAMERA $TMP_CLASS_ID $WORKDIR_TEMPLATE
-
-    ## generate output log based on filerule XXX put this in a function?
-    $outroot = `ipp_datapath.pl $WORKDIR`
-    sprintf outroot "%s/%s" $outroot $EXP_TAG
-    sprintf logfile "%s/%s.reg.log" $outroot $TMP_CLASS_ID
+    set.host.for.camera $TMP_CAMERA $TMP_CLASS_ID 
+
+    # raw workdir examples:
+    # file://data/@HOST@.0/gpc1/20080130
+    # neb:///@HOST@-vol0/gpc1/20080130 (need to supply volname?, or are we re-defining this each time?)
+    set.workdir.by.camera $TMP_CAMERA $TMP_CLASS_ID $WORKDIR_TEMPLATE $default_host WORKDIR
+    # out workdir examples:
+    # file://data/ipp004.0/gpc1/20080130
+    # neb:///ipp004-vol0/gpc1/20080130
+
+    ## generate output log based on filerule
+    sprintf logfile "%s/%s/%s.%s.reg.log" $WORKDIR $EXP_TAG $EXP_TAG $TMP_CLASS_ID
+    $logfile = `ipp_datapath.pl $logfile`
+
     stdout $logfile
     stderr $logfile
-    exec mkdir -p $outroot
+
+    $run = register_imfile.pl --exp_id $EXP_ID --tmp_class_id $TMP_CLASS_ID --tmp_exp_name $TMP_EXP_NAME --uri $URI
+    add_standard_args run
 
     # save the pageName for future reference below
     options $pageName
-
-    $run = register_imfile.pl --exp_id $EXP_ID --tmp_class_id $TMP_CLASS_ID --tmp_exp_name $TMP_EXP_NAME --uri $URI
-    add_standard_args run
 
     # create the command line
@@ -254,32 +255,36 @@
 
     book setword regPendingExp $pageName pantaskState RUN
-    book getword regPendingExp $pageName exp_id -var EXP_ID
+    book getword regPendingExp $pageName exp_id       -var EXP_ID
     book getword regPendingExp $pageName tmp_exp_name -var TMP_EXP_NAME
-    book getword regPendingExp $pageName workdir -var WORKDIR
-    book getword regPendingExp $pageName dbname -var DBNAME
+    book getword regPendingExp $pageName tmp_camera   -var TMP_CAMERA
+    book getword regPendingExp $pageName workdir      -var WORKDIR_TEMPLATE
+    book getword regPendingExp $pageName dbname       -var DBNAME
 
     # EXP_TAG is used to generate the unique, but human-readable, filenames
     sprintf EXP_TAG "%s.%s" $TMP_EXP_NAME $EXP_ID
 
-    # specify choice of remote host:(need to choose based on chips)
-    if ($parallel)
-      host anyhost
-    else
-      host local
-    end
+    # specify choice of remote host
+    set.host.for.camera $TMP_CAMERA $TMP_CLASS_ID 
+
+    # raw workdir examples:
+    # file://data/@HOST@.0/gpc1/20080130
+    # neb:///@HOST@-vol0/gpc1/20080130 (need to supply volname?, or are we re-defining this each time?)
+    set.workdir.by.camera $TMP_CAMERA $TMP_CLASS_ID $WORKDIR_TEMPLATE $default_host WORKDIR
+    # out workdir examples:
+    # file://data/ipp004.0/gpc1/20080130
+    # neb:///ipp004-vol0/gpc1/20080130
 
     ## generate output log based on filerule
-    $outroot = `ipp_datapath.pl $WORKDIR`
-    sprintf outroot "%s/%s" $outroot $EXP_TAG
-    sprintf logfile "%s/%s.reg.log" $outroot $EXP_TAG
+    sprintf logfile "%s/%s/%s.reg.log" $WORKDIR $EXP_TAG $EXP_TAG
+    $logfile = `ipp_datapath.pl $logfile`
+
     stdout $logfile
     stderr $logfile
-    exec mkdir -p $outroot
+
+    $run = register_exp.pl --exp_id $EXP_ID --exp_tag $EXP_TAG
+    add_standard_args run
 
     # save the pageName for future reference below
     options $pageName
-
-    $run = register_exp.pl --exp_id $EXP_ID --exp_tag $EXP_TAG
-    add_standard_args run
 
     # create the command line
