support for alternative DAG workflow (query 7)
authorMiloš Mulač <mulac@civ.zcu.cz>
Wed, 13 Sep 2006 13:16:07 +0000 (13:16 +0000)
committerMiloš Mulač <mulac@civ.zcu.cz>
Wed, 13 Sep 2006 13:16:07 +0000 (13:16 +0000)
org.glite.jp/examples/pch06/pch06.jdl-template2 [new file with mode: 0644]
org.glite.jp/examples/pch06/pch06.runme2 [new file with mode: 0644]
org.glite.jp/examples/pch06/pgmtoppm [new file with mode: 0644]
org.glite.jp/examples/pch06/pgmtoppm.sh [new file with mode: 0644]
org.glite.jp/examples/pch06/pnmtojpeg [new file with mode: 0644]
org.glite.jp/examples/pch06/pnmtojpeg.sh [new file with mode: 0644]

diff --git a/org.glite.jp/examples/pch06/pch06.jdl-template2 b/org.glite.jp/examples/pch06/pch06.jdl-template2
new file mode 100644 (file)
index 0000000..d084313
--- /dev/null
@@ -0,0 +1,127 @@
+[
+
+type = "dag";
+
+Requirements = other.GlueCEInfoHostname=="skurut17.cesnet.cz";
+LBAddress = "skurut1.cesnet.cz:9000";
+
+InputSandbox = {
+       "SANDBOX/align.sh",
+       "SANDBOX/reslice.sh",
+       "SANDBOX/softmean.sh",
+       "SANDBOX/slicer.sh",
+       "SANDBOX/pgmtoppm.sh",
+       "SANDBOX/pnmtojpeg.sh",
+       "SANDBOX/align_warp",
+       "SANDBOX/scanheader",
+       "SANDBOX/reslice",
+       "SANDBOX/softmean",
+       "SANDBOX/slicer",
+       "SANDBOX/pgmtoppm",
+       "SANDBOX/pnmtojpeg",
+       "SANDBOX/delegates.xml"
+};
+
+nodes = [
+       align1 = [ description = [
+               executable = "align.sh";
+               arguments = "BASE1 REFERENCE";
+       ] ];
+       align2 = [ description = [
+               executable = "align.sh";
+               arguments = "BASE2 REFERENCE";
+       ] ];
+       align3 = [ description = [
+               executable = "align.sh";
+               arguments = "BASE3 REFERENCE";
+       ] ];
+       align4 = [ description = [
+               executable = "align.sh";
+               arguments = "BASE4 REFERENCE";
+       ] ];
+
+
+       reslice1 = [ description = [
+               executable = "reslice.sh";
+               arguments = "BASE1"; 
+       ] ];
+       reslice2 = [ description = [
+               executable = "reslice.sh";
+               arguments = "BASE2"; 
+       ] ];
+       reslice3 = [ description = [
+               executable = "reslice.sh";
+               arguments = "BASE3"; 
+       ] ];
+       reslice4 = [ description = [
+               executable = "reslice.sh";
+               arguments = "BASE4"; 
+       ] ];
+
+       softmean = [ description = [
+               executable = "softmean.sh";
+               arguments = "BASE1 BASE2 BASE3 BASE4 ATLAS";
+       ] ];
+
+       slicerx = [ description = [
+               executable = "slicer.sh";
+               arguments = "ATLAS x";
+       ] ];
+       slicery = [ description = [
+               executable = "slicer.sh";
+               arguments = "ATLAS y";
+       ] ];
+       slicerz = [ description = [
+               executable = "slicer.sh";
+               arguments = "ATLAS z";
+       ] ];
+
+       pgmtoppmx = [ description = [
+               executable = "pgmtoppm.sh"; 
+               arguments = "ATLAS x";
+       ] ];
+       pgmtoppmy = [ description = [
+               executable = "pgmtoppm.sh"; 
+               arguments = "ATLAS y";
+       ] ];
+       pgmtoppmz = [ description = [
+               executable = "pgmtoppm.sh"; 
+               arguments = "ATLAS z";
+       ] ];
+
+       pnmtojpegx = [ description = [
+               executable = "pnmtojpeg.sh"; 
+               arguments = "ATLAS x";
+       ] ];
+       pnmtojpegy = [ description = [
+               executable = "pnmtojpeg.sh"; 
+               arguments = "ATLAS y";
+       ] ];
+       pnmtojpegz = [ description = [
+               executable = "pnmtojpeg.sh"; 
+               arguments = "ATLAS z";
+       ] ];
+
+];
+
+       dependencies = {
+               { align1, reslice1 },
+               { align2, reslice2 },
+               { align3, reslice3 },
+               { align4, reslice4 },
+               { { reslice1, reslice2, reslice3, reslice4 }, softmean },
+               { softmean, slicerx },
+               { softmean, slicery },
+               { softmean, slicerz },
+               { slicerx, pgmtoppmx },
+               { slicery, pgmtoppmy },
+               { slicerz, pgmtoppmz },
+               { pgmtoppmx, pnmtojpegx },
+               { pgmtoppmy, pnmtojpegy },
+               { pgmtoppmz, pnmtojpegz }
+
+       };
+
+
+
+];
diff --git a/org.glite.jp/examples/pch06/pch06.runme2 b/org.glite.jp/examples/pch06/pch06.runme2
new file mode 100644 (file)
index 0000000..2279144
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+sandbox='gsiftp://umbar.ics.muni.cz:1414/home/mulac/pch06'
+
+if [ -z "$6" ]; then
+       echo usage: $0 reference base1 base2 base3 base4 atlas
+       echo "  all args are URLs without suffix"
+       exit 1
+fi
+
+sed "s|REFERENCE|$1|; s|BASE1|$2|; s|BASE2|$3|; s|BASE3|$4|; s|BASE4|$5|; s|ATLAS|$6|; s|SANDBOX|$sandbox|" pch06.jdl-template2 >pch06-2.jdl
+
+# glite-wms-job-submit -a pch06-2.jdl
+
+
diff --git a/org.glite.jp/examples/pch06/pgmtoppm b/org.glite.jp/examples/pch06/pgmtoppm
new file mode 100644 (file)
index 0000000..052c333
Binary files /dev/null and b/org.glite.jp/examples/pch06/pgmtoppm differ
diff --git a/org.glite.jp/examples/pch06/pgmtoppm.sh b/org.glite.jp/examples/pch06/pgmtoppm.sh
new file mode 100644 (file)
index 0000000..7353ff3
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+log_event() #1 - attr.name #2 attr.value
+{
+  GLITE_WMS_SEQUENCE_CODE=`$lb_logevent\
+    --jobid="$GLITE_WMS_JOBID"\
+    --source="Application"\
+    --sequence="$GLITE_WMS_SEQUENCE_CODE"\
+    --event="UserTag"\
+    --node=$host\
+    --name="$1"\
+    --value="$2"\
+  || echo $GLITE_WMS_SEQUENCE_CODE`
+}
+
+init_log_event()
+{
+  lb_logevent=${GLITE_WMS_LOCATION}/bin/glite-lb-logevent
+  if [ ! -x "$lb_logevent" ]; then
+    lb_logevent="${EDG_WL_LOCATION}/bin/edg-wl-logev"
+  fi
+  host=`hostname -f`
+}
+
+
+set -ex
+
+hostname -f
+date
+echo $0 $*
+
+globus-url-copy $1-$2.pgm file://$PWD/atlas.pgm
+
+chmod +x pgmtoppm
+./pgmtoppm rgb:ffff/00/00 atlas.pgm > atlas.ppm
+
+globus-url-copy file://$PWD/atlas.ppm $1-$2.ppm
+
+
+# Log LB user_tags
+init_log_event
+log_event "IPAW_STAGE" "5"
+log_event "IPAW_PROGRAM" "pgmtoppm"
+log_event "IPAW_INPUT" "$1-$2.pgm"
+log_event "IPAW_OUTPUT" "$1-$2.ppm"
+
diff --git a/org.glite.jp/examples/pch06/pnmtojpeg b/org.glite.jp/examples/pch06/pnmtojpeg
new file mode 100644 (file)
index 0000000..7c1c6fc
Binary files /dev/null and b/org.glite.jp/examples/pch06/pnmtojpeg differ
diff --git a/org.glite.jp/examples/pch06/pnmtojpeg.sh b/org.glite.jp/examples/pch06/pnmtojpeg.sh
new file mode 100644 (file)
index 0000000..5a68c97
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+log_event() #1 - attr.name #2 attr.value
+{
+  GLITE_WMS_SEQUENCE_CODE=`$lb_logevent\
+    --jobid="$GLITE_WMS_JOBID"\
+    --source="Application"\
+    --sequence="$GLITE_WMS_SEQUENCE_CODE"\
+    --event="UserTag"\
+    --node=$host\
+    --name="$1"\
+    --value="$2"\
+  || echo $GLITE_WMS_SEQUENCE_CODE`
+}
+
+init_log_event()
+{
+  lb_logevent=${GLITE_WMS_LOCATION}/bin/glite-lb-logevent
+  if [ ! -x "$lb_logevent" ]; then
+    lb_logevent="${EDG_WL_LOCATION}/bin/edg-wl-logev"
+  fi
+  host=`hostname -f`
+}
+
+
+set -ex
+
+hostname -f
+date
+echo $0 $*
+
+globus-url-copy $1-$2.ppm file://$PWD/atlas.ppm
+
+chmod +x pnmtojpeg
+./pnmtojpeg atlas.ppm >atlas.jpg
+
+
+globus-url-copy file://$PWD/atlas.jpg $1-$2.jpg
+
+
+# Log LB user_tags
+init_log_event
+log_event "IPAW_STAGE" "6"
+log_event "IPAW_PROGRAM" "pnmtojpeg"
+log_event "IPAW_INPUT" "$1-$2.ppm"
+log_event "IPAW_OUTPUT" "$1-$2.jpg"
+