b58b72be7f4b8847f55197b7f9b2ffe8d5423a34
hiram
  Tue Nov 12 08:27:53 2024 -0800
better choice of TMPDIR refs #34370

diff --git src/hg/utils/automation/doRepeatModeler.pl src/hg/utils/automation/doRepeatModeler.pl
index 88aad33..d28e111 100755
--- src/hg/utils/automation/doRepeatModeler.pl
+++ src/hg/utils/automation/doRepeatModeler.pl
@@ -179,31 +179,42 @@
          &HgAutomate::verbose(1, "\ncluster step previously completed\n");
          return;
     }
   }
 
   my $whatItDoes =
 "runs single cluster job to perform the RepeatModeler process.";
 
   my $bossScript = newBash HgRemoteScript("$runDir/doCluster.bash", $paraHub,
 				      $runDir, $whatItDoes);
   $bossScript->add(<<_EOF_
 printf '#!/bin/bash
 
 set -beEu -o pipefail
 
-export tmpDir=`mktemp -d -p /dev/shm rModeler.XXXXXX`
+unset TMPDIR
+if [ -d "/data/tmp" ]; then
+  export TMPDIR="/data/tmp"
+elif [ -d "/scratch/tmp" ]; then
+  export TMPDIR="/scratch/tmp"
+elif [ -d "/dev/shm" ]; then
+  export TMPDIR="/dev/shm"
+else
+  export TMPDIR="/tmp"
+fi
+
+export tmpDir=`mktemp -d -p \$TMPDIR rModeler.XXXXXX`
 
 # working directory
 cd "\${tmpDir}"
 rsync --exclude "do.log" -a -P "${runDir}/" "\${tmpDir}/"
 
 export asmId="\${1}"
 export threadCount="${threadCount}"
 export rModeler="${RepeatModeler}"
 
 time (\$rModeler -engine ncbi \$threadCount -database "\${asmId}") > modeler.log 2>&1
 rsync --exclude "do.log" -a -P ./ "${runDir}/"
 cd "${runDir}"
 rm -fr "\${tmpDir}/"
 chmod 775 "${runDir}"
 ' > oneJob