/[MITgcm]/MITgcm/tools/tst_2+2
ViewVC logotype

Diff of /MITgcm/tools/tst_2+2

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2 by jmc, Fri Feb 27 22:58:57 2009 UTC revision 1.5 by jmc, Tue Mar 3 20:59:40 2009 UTC
# Line 3  Line 3 
3  # $Header$  # $Header$
4  # $Name$  # $Name$
5    
 run_mpi()  
 {  
 #   run_mpi output_file  
     echo "execute: '$RUNMPI'"  
     $RUNMPI  
     if test $# = 1  
     then  mv STDOUT.0000  $1  
     echo 'mv STDOUT.0000' $1  
     fi  
 }  
   
6  rnp_loc()  rnp_loc()
7  {  {
8  #   rnp_loc arg_1 arg_2  #   rnp_loc arg_1 arg_2
# Line 48  prt=1    # 1 = print some informations ; Line 37  prt=1    # 1 = print some informations ;
37  action=1  action=1
38  cmdMV='mv -f'  cmdMV='mv -f'
39  tmpDir='temp_tst'  tmpDir='temp_tst'
40    wait2run=0  # if needs sometime for file system syncro on all nodes
41    
42  #- default executable, command-line , using MPI:  #- default executable, command-line , using MPI:
43  gcmEXE=./mitgcmuv  gcmEXE=./mitgcmuv
# Line 73  for xx ; do Line 63  for xx ; do
63            *) flag=$xx ;;            *) flag=$xx ;;
64    esac    esac
65  done  done
66  echo "cmdEXE='$cmdEXE' ; RUNMPI='$RUNMPI'"  #echo "cmdEXE='$cmdEXE'"
67  echo "nArg=$nArg ; mpi=$mpi ; flag='$flag'"  #echo "nArg=$nArg ; mpi=$mpi ; flag='$flag'"
68    
69  case $nArg in  case $nArg in
70    1) ;;    1) ;;
# Line 94  esac Line 84  esac
84  #-- set the run-command :  #-- set the run-command :
85  if test "x$cmdEXE" = x  if test "x$cmdEXE" = x
86  then  then
87      RUNMPI="mpirun -machinefile ../../mf -v -np 2 $gcmEXE"    if [ $mpi -ge 1 ] ; then
88        cmdEXE="mpirun -machinefile ../../mf -v -np 2 $gcmEXE"
89      else
90      cmdEXE=$gcmEXE      cmdEXE=$gcmEXE
91  else    fi
     RUNMPI="$cmdEXE"  
92  fi  fi
93  if [ $mpi -ge 1 ] ; then cmdEXE=run_mpi ; fi  echo "cmdEXE='$cmdEXE'"
 echo "cmdEXE='$cmdEXE' ; RUNMPI='$RUNMPI'"  
94  #=========================  #=========================
95    
96  if test $flag = '0' -o $flag = 'All' ; then  if test $flag = '0' -o $flag = 'All' ; then
# Line 145  else Line 135  else
135      listF=`ls -1 $yy.${zz}*`      listF=`ls -1 $yy.${zz}*`
136      for xx in $listF      for xx in $listF
137      do      do
138        new=`echo $xx | sed "s/^$yy\.$zz/$yy\.$sufx/"`        new=`echo $xx | sed "s/^$yy\.$zz/$yy.$sufx/"`
139        if [ $prt -ge 2 ] ; then echo '  '$cmdMV $xx $new ; fi        if [ $prt -ge 2 ] ; then echo '  '$cmdMV $xx $new ; fi
140        if test $action = 1 ; then    $cmdMV $xx $new ; fi        if test $action = 1 ; then    $cmdMV $xx $new ; fi
141      done      done
# Line 192  if test $action = 1 ; then Line 182  if test $action = 1 ; then
182   mkdir $tmpDir   mkdir $tmpDir
183   mv -f *.data $tmpDir   mv -f *.data $tmpDir
184   mv -f *.meta $tmpDir   mv -f *.meta $tmpDir
185   mv -f *.txt $tmpDir   mv -f *.txt $tmpDir 2> /dev/null
186   mv -f STD???.0[0-9][0-9][0-9] $tmpDir   mv -f STD???.0[0-9][0-9][0-9] $tmpDir
187   listS=`ls $tmpDir/pickup*.${sufx}* 2> /dev/null | head -1`   listS=`ls $tmpDir/pickup*.${sufx}* 2> /dev/null | head -1`
188   if test "x$listS" != x ; then mv $tmpDir/pickup*.${sufx}* . ; fi   if test "x$listS" != x ; then mv $tmpDir/pickup*.${sufx}* . ; fi
# Line 273  rm -f STDERR.0000 Line 263  rm -f STDERR.0000
263  cp -p data.tst data  cp -p data.tst data
264  echo '==> START RUN 2 x' $Nit 'it'  echo '==> START RUN 2 x' $Nit 'it'
265  if [ $mpi -ge 1 ]  if [ $mpi -ge 1 ]
266  then $cmdEXE std_outp.2it > TTT.out.2it 2>&1  then
267         sleep $wait2run
268         $cmdEXE > TTT.out.2it 2>&1
269         mv STDOUT.0000 std_outp.2it
270         cat TTT.out.2it
271  else $cmdEXE > std_outp.2it  else $cmdEXE > std_outp.2it
272  fi  fi
273  mv STDERR.0000 std__err.2it  mv STDERR.0000 std__err.2it
# Line 290  do Line 284  do
284    rnp_loc $xx.ckptA $xx.$num2c    rnp_loc $xx.ckptA $xx.$num2c
285  done  done
286  mv *.0??.0??.* $dir1  mv *.0??.0??.* $dir1
287  txtF=`ls -1 *.txt 2> /dev/null`  txtF=`ls -1 *.txt STD???.00?? 2> /dev/null`
288  mv R?.data R?.meta DR?.data DR?.meta $txtF $dir1  mv R?.data R?.meta DR?.data DR?.meta PHref{C,F}.??ta $txtF $dir1
289  listS=`ls $dir1/pickup*.${num0c}* 2> /dev/null | head -1`  listS=`ls $dir1/pickup*.${num0c}* 2> /dev/null | head -1`
290  if test "x$listS" != x ; then mv $dir1/pickup*.${num0c}* . ; fi  if test "x$listS" != x ; then mv $dir1/pickup*.${num0c}* . ; fi
291  #---  2nd run ( Nit iter , restart from same Iter = num0 as 1rst run )  #---  2nd run ( Nit iter , restart from same Iter = num0 as 1rst run )
292  sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" data.tst > data  sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" data.tst > data.tmp
293    mv -f data.tmp data
294  echo '==> START RUN 1iA'  echo '==> START RUN 1iA'
295  if [ $mpi -ge 1 ]  if [ $mpi -ge 1 ]
296  then $cmdEXE std_outp.1iA > TTT.out.1iA 2>&1  then
297         sleep $wait2run
298         $cmdEXE > TTT.out.1iA 2>&1
299         mv STDOUT.0000 std_outp.1iA
300         cat TTT.out.1iA
301  else $cmdEXE > std_outp.1iA  else $cmdEXE > std_outp.1iA
302  fi  fi
303  mv STDERR.0000 std__err.1iA  mv STDERR.0000 std__err.1iA
# Line 313  do Line 312  do
312   rnp_loc $xx.ckptA $xx.$num1c   rnp_loc $xx.ckptA $xx.$num1c
313  done  done
314  mv *.0??.0??.* $dir2  mv *.0??.0??.* $dir2
315  txtF=`ls -1 *.txt 2> /dev/null`  txtF=`ls -1 *.txt STD???.00?? 2> /dev/null`
316  mv R?.data R?.meta DR?.data DR?.meta $txtF $dir2  mv R?.data R?.meta DR?.data DR?.meta PHref{C,F}.??ta $txtF $dir2
317  listS=`ls $dir2/pickup*.${num0c}* 2> /dev/null | head -1`  listS=`ls $dir2/pickup*.${num0c}* 2> /dev/null | head -1`
318  if test "x$listS" != x ; then mv $dir2/pickup*.${num0c}* . ; fi  if test "x$listS" != x ; then mv $dir2/pickup*.${num0c}* . ; fi
319  #---  3rd run ( Nit iter , restart from 2nd )  #---  3rd run ( Nit iter , restart from 2nd )
# Line 323  sed "s/^ nIter0=$num0/ nIter0=$num1/g" d Line 322  sed "s/^ nIter0=$num0/ nIter0=$num1/g" d
322  mv -f data.tmp data  mv -f data.tmp data
323  echo '==> START RUN 1iB'  echo '==> START RUN 1iB'
324  if [ $mpi -ge 1 ]  if [ $mpi -ge 1 ]
325  then $cmdEXE std_outp.1iB > TTT.out.1iB 2>&1  then
326         sleep $wait2run
327         $cmdEXE > TTT.out.1iB 2>&1
328         mv STDOUT.0000 std_outp.1iB
329         cat TTT.out.1iB
330  else $cmdEXE > std_outp.1iB  else $cmdEXE > std_outp.1iB
331  fi  fi
332  mv STDERR.0000 std__err.1iB  mv STDERR.0000 std__err.1iB
# Line 338  do Line 341  do
341   rnp_loc $xx.ckptA $xx.$num2c   rnp_loc $xx.ckptA $xx.$num2c
342  done  done
343  mv *.0??.0??.* $dir3  mv *.0??.0??.* $dir3
344  txtF=`ls -1 *.txt 2> /dev/null`  txtF=`ls -1 *.txt STD???.00?? 2> /dev/null`
345  mv R?.data R?.meta DR?.data DR?.meta $txtF $dir3  mv R?.data R?.meta DR?.data DR?.meta PHref{C,F}.??ta $txtF $dir3
346  listS=`ls $dir3/pickup*.${num0c}* 2> /dev/null | head -1`  listS=`ls $dir3/pickup*.${num0c}* 2> /dev/null | head -1`
347  if test "x$listS" != x ; then mv $dir3/pickup*.${num0c}* . ; fi  if test "x$listS" != x ; then mv $dir3/pickup*.${num0c}* . ; fi
348  rm $dir3/pickup*.$num1c.*  rm $dir3/pickup*.$num1c.*
# Line 405  echo "== clean-up and reset :" Line 408  echo "== clean-up and reset :"
408   rm -rf $dir1 $dir2 $dir3   rm -rf $dir1 $dir2 $dir3
409   echo ' rm -f' std_????.?i?   echo ' rm -f' std_????.?i?
410   rm -f std_????.?i?   rm -f std_????.?i?
411     rm -f TTT.out.?i? 2> /dev/null
412   echo ' rm -f' data.pkg data.tst   echo ' rm -f' data.pkg data.tst
413   rm -f data.pkg data.tst   rm -f data.pkg data.tst
414  #- move back files from temp_tst dir:  #- move back files from temp_tst dir:

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22