--- MITgcm/tools/tst_2+2 2009/02/27 22:58:57 1.2 +++ MITgcm/tools/tst_2+2 2009/02/28 18:55:48 1.3 @@ -1,19 +1,8 @@ #! /usr/bin/env bash -# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/tst_2+2,v 1.2 2009/02/27 22:58:57 jmc Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/tst_2+2,v 1.3 2009/02/28 18:55:48 jmc Exp $ # $Name: $ -run_mpi() -{ -# run_mpi output_file - echo "execute: '$RUNMPI'" - $RUNMPI - if test $# = 1 - then mv STDOUT.0000 $1 - echo 'mv STDOUT.0000' $1 - fi -} - rnp_loc() { # rnp_loc arg_1 arg_2 @@ -48,6 +37,7 @@ action=1 cmdMV='mv -f' tmpDir='temp_tst' +wait2run=0 # if needs sometime for file system syncro on all nodes #- default executable, command-line , using MPI: gcmEXE=./mitgcmuv @@ -94,13 +84,15 @@ #-- set the run-command : if test "x$cmdEXE" = x then - RUNMPI="mpirun -machinefile ../../mf -v -np 2 $gcmEXE" + if [ $mpi -ge 1 ] ; then + cmdEXE="mpirun -machinefile ../../mf -v -np 2 $gcmEXE" + else cmdEXE=$gcmEXE -else - RUNMPI="$cmdEXE" + fi fi -if [ $mpi -ge 1 ] ; then cmdEXE=run_mpi ; fi -echo "cmdEXE='$cmdEXE' ; RUNMPI='$RUNMPI'" +#if [ $mpi -ge 1 ] ; then cmdEXE=run_mpi ; fi +#echo "cmdEXE='$cmdEXE' ; RUNMPI='$RUNMPI'" +echo "cmdEXE='$cmdEXE'" #========================= if test $flag = '0' -o $flag = 'All' ; then @@ -192,7 +184,7 @@ mkdir $tmpDir mv -f *.data $tmpDir mv -f *.meta $tmpDir - mv -f *.txt $tmpDir + mv -f *.txt $tmpDir 2> /dev/null mv -f STD???.0[0-9][0-9][0-9] $tmpDir listS=`ls $tmpDir/pickup*.${sufx}* 2> /dev/null | head -1` if test "x$listS" != x ; then mv $tmpDir/pickup*.${sufx}* . ; fi @@ -273,7 +265,11 @@ cp -p data.tst data echo '==> START RUN 2 x' $Nit 'it' if [ $mpi -ge 1 ] -then $cmdEXE std_outp.2it > TTT.out.2it 2>&1 +then + sleep $wait2run + $cmdEXE > TTT.out.2it 2>&1 + mv STDOUT.0000 std_outp.2it + cat TTT.out.2it else $cmdEXE > std_outp.2it fi mv STDERR.0000 std__err.2it @@ -290,15 +286,20 @@ rnp_loc $xx.ckptA $xx.$num2c done mv *.0??.0??.* $dir1 -txtF=`ls -1 *.txt 2> /dev/null` -mv R?.data R?.meta DR?.data DR?.meta $txtF $dir1 +txtF=`ls -1 *.txt STD???.00?? 2> /dev/null` +mv R?.data R?.meta DR?.data DR?.meta PHref{C,F}.??ta $txtF $dir1 listS=`ls $dir1/pickup*.${num0c}* 2> /dev/null | head -1` if test "x$listS" != x ; then mv $dir1/pickup*.${num0c}* . ; fi #--- 2nd run ( Nit iter , restart from same Iter = num0 as 1rst run ) -sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" data.tst > data +sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" data.tst > data.tmp +mv -f data.tmp data echo '==> START RUN 1iA' if [ $mpi -ge 1 ] -then $cmdEXE std_outp.1iA > TTT.out.1iA 2>&1 +then + sleep $wait2run + $cmdEXE > TTT.out.1iA 2>&1 + mv STDOUT.0000 std_outp.1iA + cat TTT.out.1iA else $cmdEXE > std_outp.1iA fi mv STDERR.0000 std__err.1iA @@ -313,7 +314,7 @@ rnp_loc $xx.ckptA $xx.$num1c done mv *.0??.0??.* $dir2 -txtF=`ls -1 *.txt 2> /dev/null` +txtF=`ls -1 *.txt STD???.00?? 2> /dev/null` mv R?.data R?.meta DR?.data DR?.meta $txtF $dir2 listS=`ls $dir2/pickup*.${num0c}* 2> /dev/null | head -1` if test "x$listS" != x ; then mv $dir2/pickup*.${num0c}* . ; fi @@ -323,7 +324,11 @@ mv -f data.tmp data echo '==> START RUN 1iB' if [ $mpi -ge 1 ] -then $cmdEXE std_outp.1iB > TTT.out.1iB 2>&1 +then + sleep $wait2run + $cmdEXE > TTT.out.1iB 2>&1 + mv STDOUT.0000 std_outp.1iB + cat TTT.out.1iB else $cmdEXE > std_outp.1iB fi mv STDERR.0000 std__err.1iB @@ -338,7 +343,7 @@ rnp_loc $xx.ckptA $xx.$num2c done mv *.0??.0??.* $dir3 -txtF=`ls -1 *.txt 2> /dev/null` +txtF=`ls -1 *.txt STD???.00?? 2> /dev/null` mv R?.data R?.meta DR?.data DR?.meta $txtF $dir3 listS=`ls $dir3/pickup*.${num0c}* 2> /dev/null | head -1` if test "x$listS" != x ; then mv $dir3/pickup*.${num0c}* . ; fi @@ -405,6 +410,7 @@ rm -rf $dir1 $dir2 $dir3 echo ' rm -f' std_????.?i? rm -f std_????.?i? + rm -f TTT.out.?i? 2> /dev/null echo ' rm -f' data.pkg data.tst rm -f data.pkg data.tst #- move back files from temp_tst dir: