Index: trunk/pstamp/src/pstampparse.c
===================================================================
--- trunk/pstamp/src/pstampparse.c	(revision 16278)
+++ trunk/pstamp/src/pstampparse.c	(revision 16593)
@@ -11,4 +11,5 @@
     pmConfig    *config;
     psString    fileName;
+    psString    outputDirectory;
     psMetadata  *md;
     psString    roiString;
@@ -88,4 +89,13 @@
     if ((argnum = psArgumentGet(argc, argv, "-simple"))) {
         options->simple = true;
+        psArgumentRemove(argnum, &argc, argv);
+    }
+    if ((argnum = psArgumentGet(argc, argv, "-out_dir"))) {
+        psArgumentRemove(argnum, &argc, argv);
+        if (argnum == argc) {
+            fprintf(stderr, "value required for out_dir\n");
+            usage();
+        }
+        options->outputDirectory = argv[argnum];
         psArgumentRemove(argnum, &argc, argv);
     }
@@ -538,5 +548,5 @@
 static psArray * parseByCoord(pspOptions *options)
 {
-    psError(PS_ERR_UNKNOWN, true, "REQ_TYPE: bycoord not implemented yet");
+    psError(PSTAMP_ERR_NOT_IMPLEMENTED, true, "REQ_TYPE: bycoord not implemented yet");
     return NULL;
 }
@@ -591,6 +601,12 @@
     psString cmd = NULL;
 
-    psStringAppend(&cmd, "pstamptool -addjob -req_id %ld -uri %s -outputBase %s -args '%s' >/dev/null",
-                                options->req_id, uri, outputBase, commandArgs);
+    psStringAppend(&cmd, "pstamptool -addjob -req_id %ld -uri %s -outputBase ", options->req_id, uri);
+    
+    if (options->outputDirectory) {
+        psStringAppend(&cmd, "%s/", options->outputDirectory);
+    }
+    
+    psStringAppend(&cmd, "%s -args '%s' >/dev/null", outputBase, commandArgs);
+
     if (options->verbose) {
         fprintf(stderr, "excuting system(%s)\n", cmd);
