--- MITgcm/tools/tst_2+2 2009/02/28 20:56:07 1.4 +++ MITgcm/tools/tst_2+2 2009/12/14 20:36:30 1.7 @@ -1,6 +1,6 @@ #! /usr/bin/env bash -# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/tst_2+2,v 1.4 2009/02/28 20:56:07 jmc Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/tst_2+2,v 1.7 2009/12/14 20:36:30 jmc Exp $ # $Name: $ rnp_loc() @@ -135,7 +135,7 @@ listF=`ls -1 $yy.${zz}*` for xx in $listF do - new=`echo $xx | sed "s/^$yy\.$zz/$yy\.$sufx/"` + new=`echo $xx | sed "s/^$yy\.$zz/$yy.$sufx/"` if [ $prt -ge 2 ] ; then echo ' '$cmdMV $xx $new ; fi if test $action = 1 ; then $cmdMV $xx $new ; fi done @@ -146,7 +146,7 @@ echo "prepare parameter file 'data.tst' :" cp -p -f data data.tst listOut='startTime endTime nIter0 nTimeSteps nEndIter chkPtFreq pChkPtFreq globalFiles' -listOut=$listOut' useSingleCpuIO pickupSuff usePickupBeforeC54 mdsioLocalDir' +listOut=$listOut' pickupSuff usePickupBeforeC54 mdsioLocalDir' #- comment out (in data.tst) all parameters from list: 'listOut' for yy in $listOut do @@ -274,18 +274,19 @@ out=`egrep -c 'STOP ABNORMAL END' std_outp.2it` if test $out != 0 then echo "==> RUN 2 x $Nit it : ABNORMAL END => exit" ; exit 1 ; fi -if test -f $pref.ckptA.001.001.data -then echo "==> END RUN 2 x $Nit it" -else echo "==> RUN 2 x $Nit it STOP without writing $pref => exit" ; exit 1 ; fi +listF=`ls -1 $pref.ckptA*.data 2> /dev/null` +if test "x$listF" = x +then echo "==> RUN 2 x $Nit it STOP without writing $pref => exit" ; exit 1 +else echo "==> END RUN 2 x $Nit it" ; fi listP=`ls pickup*.ckptA* | sed 's/\..*//g' | uniq` echo ' listP=' $listP for xx in $listP do rnp_loc $xx.ckptA $xx.$num2c done -mv *.0??.0??.* $dir1 +mv *.data *.meta $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 +if test "x$txtF" != x ; then mv $txtF $dir1 ; fi 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 ) @@ -304,16 +305,17 @@ out=`egrep -c 'STOP ABNORMAL END' std_outp.1iA` if test $out != 0 then echo "==> RUN 1iA : ABNORMAL END => exit" ; exit 2 ; fi -if test -f $pref.ckptA.001.001.data -then echo "==> END RUN 1iA" -else echo "==> RUN 1iA STOP without writing $pref => exit" ; exit 2 ; fi +listF=`ls -1 $pref.ckptA*.data 2> /dev/null` +if test "x$listF" = x +then echo "==> RUN 1iA STOP without writing $pref => exit" ; exit 2 +else echo "==> END RUN 1iA" ; fi for xx in $listP do rnp_loc $xx.ckptA $xx.$num1c done -mv *.0??.0??.* $dir2 +mv *.data *.meta $dir2 txtF=`ls -1 *.txt STD???.00?? 2> /dev/null` -mv R?.data R?.meta DR?.data DR?.meta PHref{C,F}.??ta $txtF $dir2 +if test "x$txtF" != x ; then mv $txtF $dir2 ; fi listS=`ls $dir2/pickup*.${num0c}* 2> /dev/null | head -1` if test "x$listS" != x ; then mv $dir2/pickup*.${num0c}* . ; fi #--- 3rd run ( Nit iter , restart from 2nd ) @@ -333,16 +335,17 @@ out=`egrep -c 'STOP ABNORMAL END' std_outp.1iB` if test $out != 0 then echo "==> RUN 1iB : ABNORMAL END => exit" ; exit 3 ; fi -if test -f $pref.ckptA.001.001.data -then echo "==> END RUN 1iB" -else echo "==> RUN 1iB STOP without writing $pref => exit" ; exit 3 ; fi +listF=`ls -1 $pref.ckptA*.data 2> /dev/null` +if test "x$listF" = x +then echo "==> RUN 1iB STOP without writing $pref => exit" ; exit 3 +else echo "==> END RUN 1iB" ; fi for xx in $listP do rnp_loc $xx.ckptA $xx.$num2c done -mv *.0??.0??.* $dir3 +mv *.data *.meta $dir3 txtF=`ls -1 *.txt STD???.00?? 2> /dev/null` -mv R?.data R?.meta DR?.data DR?.meta PHref{C,F}.??ta $txtF $dir3 +if test "x$txtF" != x ; then mv $txtF $dir3 ; fi listS=`ls $dir3/pickup*.${num0c}* 2> /dev/null | head -1` if test "x$listS" != x ; then mv $dir3/pickup*.${num0c}* . ; fi rm $dir3/pickup*.$num1c.* @@ -352,16 +355,26 @@ if test $flag = '2' -o $flag = 'All' ; then #---------------------------------------------------------------------- -echo ' ' ; echo '== compare cg2d_init_res :' -echo ' run 1iA:' - grep "cg2d_init_res" std_outp.1iA \ - | sed 's/.* cg2d_init_res =//' -echo ' run 1iB:' - grep "cg2d_init_res" std_outp.1iB \ - | sed 's/.* cg2d_init_res =//' -echo ' run 2it:' - grep "cg2d_init_res" std_outp.2it \ - | sed 's/.* cg2d_init_res =//' +listCGini="2" +#-- check if using 3-D solver + nn=`grep -i -c "^ *nonHydrostatic *= *\.TRUE\." data.tst` + if [ $nn -eq 0 ] ; then + nn=`grep -i -c "^ *implicitIntGravWave *= *\.TRUE\." data.tst` + fi +if [ $nn -ge 1 ] ; then listCGini="$listCGini 3"; fi +for nn in $listCGini +do + echo ' ' ; echo "== compare cg${nn}d_init_res :" + echo ' run 1iA:' + grep "cg${nn}d_init_res" std_outp.1iA \ + | sed "s/.* cg${nn}d_init_res =//" + echo ' run 1iB:' + grep "cg${nn}d_init_res" std_outp.1iB \ + | sed "s/.* cg${nn}d_init_res =//" + echo ' run 2it:' + grep "cg${nn}d_init_res" std_outp.2it \ + | sed "s/.* cg${nn}d_init_res =//" +done #---------------------------------------------------------------------- fi @@ -373,21 +386,21 @@ chkmeta='Y' for yy in $listP do - 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$//")` zz=$yy.$num2c echo '--> file='$zz', listY='$listY for xx in $listY do - echo ' diff' $dir1/$zz.$xx.data $dir3 - diff $dir1/$zz.$xx.data $dir3 + echo ' diff' $dir1/$zz${xx}data $dir3 + diff $dir1/$zz${xx}data $dir3 out=$? if test $out != 0 ; then echo 'Diff outp=' $out ' ==> stop' exit 4 fi - if test $chkmeta = 'Y' -a -f $dir1/$zz.$xx.meta ; then - echo ' diff' $dir1/$zz.$xx.meta $dir3 - diff $dir1/$zz.$xx.meta $dir3 + if test $chkmeta = 'Y' -a -f $dir1/$zz${xx}meta ; then + echo ' diff' $dir1/$zz${xx}meta $dir3 + diff $dir1/$zz${xx}meta $dir3 out=$? if test $out != 0 ; then echo 'Diff outp=' $out ' ==> stop'