/[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.3 by jmc, Sat Feb 28 18:55:48 2009 UTC revision 1.7 by jmc, Mon Dec 14 20:36:30 2009 UTC
# Line 63  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 90  then Line 90  then
90      cmdEXE=$gcmEXE      cmdEXE=$gcmEXE
91    fi    fi
92  fi  fi
 #if [ $mpi -ge 1 ] ; then cmdEXE=run_mpi ; fi  
 #echo "cmdEXE='$cmdEXE' ; RUNMPI='$RUNMPI'"  
93  echo "cmdEXE='$cmdEXE'"  echo "cmdEXE='$cmdEXE'"
94  #=========================  #=========================
95    
# Line 137  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 148  fi Line 146  fi
146  echo "prepare parameter file 'data.tst' :"  echo "prepare parameter file 'data.tst' :"
147  cp -p -f data data.tst  cp -p -f data data.tst
148  listOut='startTime endTime nIter0 nTimeSteps nEndIter chkPtFreq pChkPtFreq globalFiles'  listOut='startTime endTime nIter0 nTimeSteps nEndIter chkPtFreq pChkPtFreq globalFiles'
149  listOut=$listOut' useSingleCpuIO pickupSuff usePickupBeforeC54 mdsioLocalDir'  listOut=$listOut' pickupSuff usePickupBeforeC54 mdsioLocalDir'
150  #- comment out (in data.tst) all parameters from list: 'listOut'  #- comment out (in data.tst) all parameters from list: 'listOut'
151  for yy in $listOut  for yy in $listOut
152  do  do
# Line 276  mv STDERR.0000 std__err.2it Line 274  mv STDERR.0000 std__err.2it
274  out=`egrep -c 'STOP ABNORMAL END' std_outp.2it`  out=`egrep -c 'STOP ABNORMAL END' std_outp.2it`
275  if test $out != 0  if test $out != 0
276  then echo "==> RUN 2 x $Nit it : ABNORMAL END => exit" ; exit 1 ; fi  then echo "==> RUN 2 x $Nit it : ABNORMAL END => exit" ; exit 1 ; fi
277  if test -f $pref.ckptA.001.001.data  listF=`ls -1 $pref.ckptA*.data 2> /dev/null`
278  then echo "==>  END  RUN 2 x $Nit it"  if test "x$listF" = x
279  else echo "==> RUN 2 x $Nit it STOP without writing $pref => exit" ; exit 1 ; fi  then echo "==> RUN 2 x $Nit it STOP without writing $pref => exit" ; exit 1
280    else echo "==>  END  RUN 2 x $Nit it" ; fi
281  listP=`ls pickup*.ckptA* | sed 's/\..*//g' | uniq`  listP=`ls pickup*.ckptA* | sed 's/\..*//g' | uniq`
282  echo ' listP=' $listP  echo ' listP=' $listP
283  for xx in $listP  for xx in $listP
284  do  do
285    rnp_loc $xx.ckptA $xx.$num2c    rnp_loc $xx.ckptA $xx.$num2c
286  done  done
287  mv *.0??.0??.* $dir1  mv *.data *.meta $dir1
288  txtF=`ls -1 *.txt STD???.00?? 2> /dev/null`  txtF=`ls -1 *.txt STD???.00?? 2> /dev/null`
289  mv R?.data R?.meta DR?.data DR?.meta PHref{C,F}.??ta $txtF $dir1  if test "x$txtF" != x ; then mv $txtF $dir1 ; fi
290  listS=`ls $dir1/pickup*.${num0c}* 2> /dev/null | head -1`  listS=`ls $dir1/pickup*.${num0c}* 2> /dev/null | head -1`
291  if test "x$listS" != x ; then mv $dir1/pickup*.${num0c}* . ; fi  if test "x$listS" != x ; then mv $dir1/pickup*.${num0c}* . ; fi
292  #---  2nd run ( Nit iter , restart from same Iter = num0 as 1rst run )  #---  2nd run ( Nit iter , restart from same Iter = num0 as 1rst run )
# Line 306  mv STDERR.0000 std__err.1iA Line 305  mv STDERR.0000 std__err.1iA
305  out=`egrep -c 'STOP ABNORMAL END' std_outp.1iA`  out=`egrep -c 'STOP ABNORMAL END' std_outp.1iA`
306  if test $out != 0  if test $out != 0
307  then echo "==> RUN 1iA : ABNORMAL END => exit" ; exit 2 ; fi  then echo "==> RUN 1iA : ABNORMAL END => exit" ; exit 2 ; fi
308  if test -f $pref.ckptA.001.001.data  listF=`ls -1 $pref.ckptA*.data 2> /dev/null`
309  then echo "==>  END  RUN 1iA"  if test "x$listF" = x
310  else echo "==> RUN 1iA STOP without writing $pref => exit" ; exit 2 ; fi  then echo "==> RUN 1iA STOP without writing $pref => exit" ; exit 2
311    else echo "==>  END  RUN 1iA" ; fi
312  for xx in $listP  for xx in $listP
313  do  do
314   rnp_loc $xx.ckptA $xx.$num1c   rnp_loc $xx.ckptA $xx.$num1c
315  done  done
316  mv *.0??.0??.* $dir2  mv *.data *.meta $dir2
317  txtF=`ls -1 *.txt STD???.00?? 2> /dev/null`  txtF=`ls -1 *.txt STD???.00?? 2> /dev/null`
318  mv R?.data R?.meta DR?.data DR?.meta $txtF $dir2  if test "x$txtF" != x ; then mv $txtF $dir2 ; fi
319  listS=`ls $dir2/pickup*.${num0c}* 2> /dev/null | head -1`  listS=`ls $dir2/pickup*.${num0c}* 2> /dev/null | head -1`
320  if test "x$listS" != x ; then mv $dir2/pickup*.${num0c}* . ; fi  if test "x$listS" != x ; then mv $dir2/pickup*.${num0c}* . ; fi
321  #---  3rd run ( Nit iter , restart from 2nd )  #---  3rd run ( Nit iter , restart from 2nd )
# Line 335  mv STDERR.0000 std__err.1iB Line 335  mv STDERR.0000 std__err.1iB
335  out=`egrep -c 'STOP ABNORMAL END' std_outp.1iB`  out=`egrep -c 'STOP ABNORMAL END' std_outp.1iB`
336  if test $out != 0  if test $out != 0
337  then echo "==> RUN 1iB : ABNORMAL END => exit" ; exit 3 ; fi  then echo "==> RUN 1iB : ABNORMAL END => exit" ; exit 3 ; fi
338  if test -f $pref.ckptA.001.001.data  listF=`ls -1 $pref.ckptA*.data 2> /dev/null`
339  then echo "==>  END  RUN 1iB"  if test "x$listF" = x
340  else echo "==> RUN 1iB STOP without writing $pref => exit" ; exit 3 ; fi  then echo "==> RUN 1iB STOP without writing $pref => exit" ; exit 3
341    else echo "==>  END  RUN 1iB" ; fi
342  for xx in $listP  for xx in $listP
343  do  do
344   rnp_loc $xx.ckptA $xx.$num2c   rnp_loc $xx.ckptA $xx.$num2c
345  done  done
346  mv *.0??.0??.* $dir3  mv *.data *.meta $dir3
347  txtF=`ls -1 *.txt STD???.00?? 2> /dev/null`  txtF=`ls -1 *.txt STD???.00?? 2> /dev/null`
348  mv R?.data R?.meta DR?.data DR?.meta $txtF $dir3  if test "x$txtF" != x ; then mv $txtF $dir3 ; fi
349  listS=`ls $dir3/pickup*.${num0c}* 2> /dev/null | head -1`  listS=`ls $dir3/pickup*.${num0c}* 2> /dev/null | head -1`
350  if test "x$listS" != x ; then mv $dir3/pickup*.${num0c}* . ; fi  if test "x$listS" != x ; then mv $dir3/pickup*.${num0c}* . ; fi
351  rm $dir3/pickup*.$num1c.*  rm $dir3/pickup*.$num1c.*
# Line 354  fi Line 355  fi
355    
356  if test $flag = '2' -o $flag = 'All' ; then  if test $flag = '2' -o $flag = 'All' ; then
357  #----------------------------------------------------------------------  #----------------------------------------------------------------------
358  echo ' ' ; echo '== compare cg2d_init_res :'  listCGini="2"
359  echo ' run 1iA:'  #-- check if using 3-D solver
360   grep "cg2d_init_res" std_outp.1iA \    nn=`grep -i -c "^ *nonHydrostatic *= *\.TRUE\." data.tst`
361        | sed 's/.* cg2d_init_res =//'   if [ $nn -eq 0 ] ; then
362  echo ' run 1iB:'    nn=`grep -i -c "^ *implicitIntGravWave *= *\.TRUE\." data.tst`
363   grep "cg2d_init_res" std_outp.1iB \   fi
364        | sed 's/.* cg2d_init_res =//'  if [ $nn -ge 1 ] ; then listCGini="$listCGini 3"; fi
365  echo ' run 2it:'  for nn in $listCGini
366   grep "cg2d_init_res" std_outp.2it \  do
367        | sed 's/.* cg2d_init_res =//'    echo ' ' ; echo "== compare cg${nn}d_init_res :"
368      echo ' run 1iA:'
369       grep "cg${nn}d_init_res" std_outp.1iA \
370            | sed "s/.* cg${nn}d_init_res =//"
371      echo ' run 1iB:'
372       grep "cg${nn}d_init_res" std_outp.1iB \
373            | sed "s/.* cg${nn}d_init_res =//"
374      echo ' run 2it:'
375       grep "cg${nn}d_init_res" std_outp.2it \
376            | sed "s/.* cg${nn}d_init_res =//"
377    done
378  #----------------------------------------------------------------------  #----------------------------------------------------------------------
379  fi  fi
380    
# Line 375  listP=`( cd $dir1 ; ls pickup*.$num2c* | Line 386  listP=`( cd $dir1 ; ls pickup*.$num2c* |
386  chkmeta='Y'  chkmeta='Y'
387  for yy in $listP  for yy in $listP
388  do  do
389   listY=`(cd $dir1 ; ls $yy.$num2c.*.data | sed "s/$yy\.$num2c\.//" | sed "s/\.data//")`   listY=`(cd $dir1 ; ls $yy.$num2c*.data | sed "s/$yy\.$num2c//" | sed "s/data$//")`
390   zz=$yy.$num2c   zz=$yy.$num2c
391   echo '--> file='$zz', listY='$listY   echo '--> file='$zz', listY='$listY
392   for xx in $listY   for xx in $listY
393   do   do
394     echo ' diff' $dir1/$zz.$xx.data $dir3     echo ' diff' $dir1/$zz${xx}data $dir3
395     diff $dir1/$zz.$xx.data $dir3     diff $dir1/$zz${xx}data $dir3
396     out=$?     out=$?
397     if test $out != 0 ; then     if test $out != 0 ; then
398      echo 'Diff outp=' $out ' ==> stop'      echo 'Diff outp=' $out ' ==> stop'
399      exit 4      exit 4
400     fi     fi
401     if test $chkmeta = 'Y' -a -f $dir1/$zz.$xx.meta ; then     if test $chkmeta = 'Y' -a -f $dir1/$zz${xx}meta ; then
402      echo ' diff' $dir1/$zz.$xx.meta $dir3      echo ' diff' $dir1/$zz${xx}meta $dir3
403      diff $dir1/$zz.$xx.meta $dir3      diff $dir1/$zz${xx}meta $dir3
404      out=$?      out=$?
405      if test $out != 0 ; then      if test $out != 0 ; then
406       echo 'Diff outp=' $out ' ==> stop'       echo 'Diff outp=' $out ' ==> stop'

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22