/[MITgcm]/mitgcm.org/scripts/check_outp
ViewVC logotype

Diff of /mitgcm.org/scripts/check_outp

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

revision 1.4 by jmc, Thu Sep 11 16:10:00 2008 UTC revision 1.11 by jmc, Tue Jun 16 20:27:39 2009 UTC
# Line 18  usage() Line 18  usage()
18      echo "  (-l |-list )MACHINES  check platforms from this list"      echo "  (-l |-list )MACHINES  check platforms from this list"
19      echo "                         [def=\"$MACHINES\"]"      echo "                         [def=\"$MACHINES\"]"
20      echo "  (-d |-day  )FIRSTDAY  select output from day=\"YYYYMMDD\""      echo "  (-d |-day  )FIRSTDAY  select output from day=\"YYYYMMDD\""
21        echo "                         (argument of \"date -d\" is allowed)"
22      echo "                         [def=\"$FIRSTDAY\"]"      echo "                         [def=\"$FIRSTDAY\"]"
23      echo "  (-u |-upto )LASTDAY   until last day=\"YYYYMMDD\" (=selected period)"      echo "  (-u |-upto )LASTDAY   until last day=\"YYYYMMDD\" (=selected period)"
24      echo "                         [def=\"FIRSTDAY\"]"      echo "                         [def=\"FIRSTDAY\"]"
# Line 101  for ac_option ; do Line 102  for ac_option ; do
102       esac       esac
103    
104  done  done
105    #-- test FIRSTDAY content ; interpret as "date -d" arg. if not YYYYMMDD
106    ttt=`echo "y$FIRSTDAY" | sed 's/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/z/'`
107    if test "x$ttt" != 'xyz' ; then
108       FIRSTDAY=`date -d "$FIRSTDAY" +%Y%m%d`
109    fi
110    ttt=`echo "y$FIRSTDAY" | sed 's/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/z/'`
111    if test "x$ttt" != 'xyz' ; then
112      echo "Error: FIRSTDAY='$FIRSDAY' not recognized"
113      exit 2
114    fi
115  if test $LASTDAY = "30000000" ; then LASTDAY=$FIRSTDAY ; fi  if test $LASTDAY = "30000000" ; then LASTDAY=$FIRSTDAY ; fi
116  CMDLINE=$0  CMDLINE=$0
117  for xx in "$@" ; do nw=`echo $xx | wc -w`  for xx in "$@" ; do nw=`echo $xx | wc -w`
# Line 144  if test -d $INDIR ; then Line 155  if test -d $INDIR ; then
155    fi    fi
156  else  else
157    echo "$INDIR is not a directory"    echo "$INDIR is not a directory"
158    exit    exit 3
159  fi  fi
160    
161  #- a short summary of this checking :  #- a short summary of this checking :
# Line 233  for mname in $MACHINES ; do Line 244  for mname in $MACHINES ; do
244              ADJOINT=              ADJOINT=
245              RESTART=0              RESTART=0
246              NOI3E=0              NOI3E=0
247                MTH=0
248              if test -r $dir/summary.txt ; then              if test -r $dir/summary.txt ; then
249                  comm=`grep 'ADJOINT=true' $dir/summary.txt 2>/dev/null`                  comm=`grep 'ADJOINT=true' $dir/summary.txt 2>/dev/null`
250                  eval $comm                  eval $comm
251                  RESTART=`grep -c 'test 2+2=4 summary' $dir/summary.txt`                  RESTART=`grep -c 'test 2+2=4 summary' $dir/summary.txt`
252                  NOI3E=`grep -c "^run: .*testreport .* '*-noieee'* " $dir/summary.txt`                  NOI3E=`grep -c "^run: .*testreport.* '*-noieee'* " $dir/summary.txt`
253                    MTH=`grep -c "^run: .*testreport.* -mth " $dir/summary.txt`
254              fi              fi
255              if test "x$RESTART" = x0 ; then              if test "x$RESTART" = x0 ; then
256                  kind="forward"                  kind="forward"
# Line 248  for mname in $MACHINES ; do Line 261  for mname in $MACHINES ; do
261              if test "x$NOI3E" = x1 ; then              if test "x$NOI3E" = x1 ; then
262                  OPTFILE="${OPTFILE}.noieee"                  OPTFILE="${OPTFILE}.noieee"
263              fi              fi
264                if test "x$MTH" = x1 ; then
265                    yy=`echo $OPTFILE | grep -c 'mth$'`
266                    if test $yy = 0 ; then OPTFILE="${OPTFILE}+mth" ; fi
267                fi
268              day=`echo $i   | sed -e 's/_[0-9]$//' | sed -e 's/_[0-9][0-9]$//'`              day=`echo $i   | sed -e 's/_[0-9]$//' | sed -e 's/_[0-9][0-9]$//'`
269              ttt=`echo $day | sed -e 's/_[0-9]$//' | sed -e 's/_[0-9][0-9]$//'`              ttt=`echo $day | sed -e 's/_[0-9]$//' | sed -e 's/_[0-9][0-9]$//'`
270              day=`echo $ttt | sed -e 's|_| |g' |awk '{print $NF}'`              day=`echo $ttt | sed -e 's|_| |g' |awk '{print $NF}'`
# Line 269  for mname in $MACHINES ; do Line 286  for mname in $MACHINES ; do
286                  cat ./slist | tee -a $OUTPFIL                  cat ./slist | tee -a $OUTPFIL
287            fi            fi
288            echo   ".... previous list (n=$n):" | tee -a $OUTPFIL            echo   ".... previous list (n=$n):" | tee -a $OUTPFIL
289                  cat ./plist | tee -a $OUTPFIL                  cat ./plist | tee -a $OUTPFIL | head -20
290          fi          fi
291    
292        fi        fi
# Line 291  for mname in $MACHINES ; do Line 308  for mname in $MACHINES ; do
308            num=`grep -c "^$key" ./plist`            num=`grep -c "^$key" ./plist`
309            #- discard unsafe test:            #- discard unsafe test:
310            dd=`echo $optf | grep -c 'gfortran.*mth'`            dd=`echo $optf | grep -c 'gfortran.*mth'`
311            if [ $dd -ge 1 ] ; then num=-1 ; fi            if test $mname = 'lagoon' -a $dd = 1 ; then num=-1 ; fi
312              if test $mname = 'harbor' -a $dd = 1 ; then num=-1 ; fi
313              if test $mname = 'aces' -a $optf = 'linux_ia32_open64' ; then num=-1 ; fi
314              if test $mname = 'aces' -a $optf = 'linux_ia32_g95' ; then num=-1 ; fi
315            if test $num -gt 0 ; then            if test $num -gt 0 ; then
316              pline=`grep "^$key " ./plist | head -1`              pline=`grep "^$key " ./plist | head -1`
317              if test $dBug = 't' ; then              if test $dBug = 't' ; then
# Line 307  for mname in $MACHINES ; do Line 327  for mname in $MACHINES ; do
327              sed -n "5,$ p" $outp | sed '/^[YN] [YN] [YN] [YN]/ s/ \. //g' \              sed -n "5,$ p" $outp | sed '/^[YN] [YN] [YN] [YN]/ s/ \. //g' \
328                                   | sed 's/ OPTFILE=.*\// OPTFILE=/g' \                                   | sed 's/ OPTFILE=.*\// OPTFILE=/g' \
329                                   | grep -v '^[A-S][a-t]* time:  ' > tmpfp                                   | grep -v '^[A-S][a-t]* time:  ' > tmpfp
330                #-- re-order list of exp (according to local "sort" order)
331                listD=`grep '^[YN] [YN] [YN] [YN]' tmpfs \
332                     | sed 's/^[YN] .*pass //' | sed 's/^[YN] .*FAIL //' \
333                     | sed 's/^[YN] .*N\/O  //' | sort`
334                for xx in $listD
335                do
336                    sed "/ $xx\$/d" tmpfs > tmpfn
337                    sed -n "/ $xx\$/p" tmpfs >> tmpfn
338                    mv tmpfn tmpfs
339                done
340                listD=`grep '^[YN] [YN] [YN] [YN]' tmpfp \
341                     | sed 's/^[YN] .*pass //' | sed 's/^[YN] .*FAIL //' \
342                     | sed 's/^[YN] .*N\/O  //' | sort`
343                for xx in $listD
344                do
345                    sed "/ $xx\$/d" tmpfp > tmpfn
346                    sed -n "/ $xx\$/p" tmpfp >> tmpfn
347                    mv tmpfn tmpfp
348                done
349              echo -n "=== diff $sdir $pdir :" | tee -a $OUTPFIL              echo -n "=== diff $sdir $pdir :" | tee -a $OUTPFIL
350              diff tmpfs tmpfp > tmpdf              diff tmpfs tmpfp > tmpdf
351              yy=$?              yy=$?
# Line 375  if test "x$ADDRESS" != 'xnone' ; then Line 414  if test "x$ADDRESS" != 'xnone' ; then
414  fi  fi
415  echo ".. cat $OUTPSUM"  echo ".. cat $OUTPSUM"
416  cat $OUTPSUM  cat $OUTPSUM
417    exit 0

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22