--- mitgcm.org/scripts/check_outp 2015/06/13 16:27:20 1.44 +++ mitgcm.org/scripts/check_outp 2024/01/03 00:40:41 1.58 @@ -1,6 +1,6 @@ #! /usr/bin/env bash -# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/scripts/check_outp,v 1.44 2015/06/13 16:27:20 jmc Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/scripts/check_outp,v 1.58 2024/01/03 00:40:41 jmc Exp $ # # The purpose of this script is to compare # the latest output with the previous one (from the same platform with @@ -104,7 +104,9 @@ ADJOINT=0 TANGLIN=0 OPENAD=0 + TAPENAD=0 RESTART=0 + Special=0 EXTRA= FAST=0 DVLP=0 @@ -112,30 +114,38 @@ MTH=0 UR4=0 if test -r $dir/summary.txt ; then + TAPENAD=`grep -c ' generated by Tapenade' $dir/summary.txt` ADJOINT=`grep -c -i '^ADJOINT' $dir/summary.txt` + TANGLIN=`grep -c -i '^TANGLIN' $dir/summary.txt` if test "x$ADJOINT" = x1 ; then OPENAD=`grep -c '^Adjoint .* OpenAD' $dir/summary.txt` fi - TANGLIN=`grep -c -i '^TANGLIN' $dir/summary.txt` - if test "x$TANGLIN" = x1 ; then - OPENAD=`grep -c '^TangLin .* OpenAD' $dir/summary.txt` - fi RESTART=`grep -c 'test 2+2=4 summary' $dir/summary.txt` + #- special label for "darwin" test + Special=`echo $i | grep -c '\-darwin[0-9]'` + if test $Special != 0 ; then + Special=`echo $i | sed -e "s/.*$mname/$mname/" -e "s/_/ /g" -e "s/-/ /g"` + if test $dBug = 't' ; then echo -n " Special='$Special' ;" | tee -a $OUTPFIL ; fi + Special=`echo $Special | awk '{print $2}' | sed 's/darwin//'` + fi comm=`grep '^run: .*testreport.* ' $dir/summary.txt` EXTRA=`echo "$comm" | grep " -*-tdir\>" | sed -e "s/^.* -*-tdir\>//" -e "s/ -.*$//"` if test "x$EXTRA" = x ; then EXTRA=`echo "$comm" | grep " -*-t\>" | sed -e "s/^.*-*-t\>//" -e "s/ -.*$//"` fi if test "x$EXTRA" = x ; then EXTRA=0 ; else - #echo -n "EXTRA=$EXTRA" + #if test $dBug = 't' ; then echo -n " EXTRA='$EXTRA' ;" | tee -a $OUTPFIL ; fi nn0=`echo $EXTRA | sed "s/ *' *//g" | wc -w` - nn1=`echo $EXTRA | sed "s/ *' *//g" | tr ' ' '\n' | grep -c "\"` if test "x$FAST" = x0 ; then FAST=`echo "$comm" | grep -c " '*-noieee'*"` @@ -150,26 +160,30 @@ if test "x$UR4" = x0 ; then UR4=`echo "$comm" | grep -c " -*-ur4\>"` fi - fi + else EXTRA=0 ; fi if test "x$ADJOINT" = x1 ; then kind="adm-TAF" ; order=0 - if test "x$OPENAD" = x1 ; then kind="adm-OAD" ; order=2 ; fi + if test "x$TAPENAD" = x1 ; then + kind="adm-TAP" ; order=2 + elif test "x$OPENAD" = x1 ; then + kind="adm-OAD" ; order=4 + fi elif test "x$TANGLIN" = x1 ; then kind="tlm-TAF" ; order=1 - if test "x$OPENAD" = x1 ; then kind="tlm-OAD" ; order=3 ; fi + if test "x$TAPENAD" = x1 ; then kind="tlm-TAP" ; order=3 ; fi elif test "x$RESTART" = x0 ; then - kind="forward" ; order=4 + kind="forward" ; order=6 else - kind="restart" ; order=5 + kind="restart" ; order=7 fi - order=`expr $order + 10 \* $EXTRA` - order=`printf '%3.3i' $order` if test "x$UR4" = x1 ; then OPTFILE="${OPTFILE}.use_r4" fi if test "x$MPI" = x1 ; then yy=`echo $OPTFILE | grep -c '+mpi'` - if test $yy = 0 ; then OPTFILE="${OPTFILE}+mpi" ; fi + if test $yy = 0 ; then yy=`echo $OPTFILE | grep -c '+impi'` ; fi + if test $yy = 0 ; then OPTFILE="${OPTFILE}+mpi" + else order=`expr $order + 200` ; fi fi if test "x$MTH" = x1 ; then yy=`echo $OPTFILE | grep -c '+mth$'` @@ -181,6 +195,12 @@ if test "x$DVLP" = x1 ; then OPTFILE="${OPTFILE}.dvlp" fi + if [ $Special -eq 0 ] ; then + order=`expr $order + 10 \* $EXTRA` + else + order=`expr $order + 10 \* $Special` + fi + order=`printf '%3.3i' $order` day=`echo $i | 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]$//'` day=`echo $ttt | sed -e 's|_| |g' |awk '{print $NF}'` @@ -201,12 +221,12 @@ echo "---- current list (n=$monthDir) :" | tee -a $OUTPFIL cat $TMP.slist | tee -a $OUTPFIL fi - num1=`wc -l $TMP.slist | awk '{print $1}'` + num1=`wc -l $TMP.slist | awk '{print $1}'` if test $num1 -gt 0 ; then echo ".... previous list (n=$monthDir):" | tee -a $OUTPFIL cat $TMP.plist | tee -a $OUTPFIL | head -20 fi - echo "----" | tee -a $OUTPFIL + echo "----" | tee -a $OUTPFIL fi } @@ -224,6 +244,7 @@ OUTPFIL=`basename $0`'.log' NBLDIFF=5 ADDRESS='none' +MAILCMD="mail" dBug=f t4update=0 sTime=`date` @@ -313,9 +334,9 @@ PREV_P="${PY}_${PM}"; PERIOD=`echo $PERIOD | sed 's/^[0-9][0-9][0-9][0-9]/&_/'` -#INDIR="/net/orwell/export/export-9/mitgcm-testing/results/$PERIOD" +#INDIR="/net/zany.mit.edu/data/ORWELL/export-9/mitgcm-testing/results/$PERIOD" INDIR="/u/u0/httpd/html/testing/results/$PERIOD" -#INDIR="/u/u2/jmc/mitgcm/test_web/results/$PERIOD" +#INDIR="$HOME/mitgcm/test_web/results/$PERIOD" #- a short summary of this checking : OUTPSUM=`echo $LASTDAY | sed 's/^20../_/'` @@ -336,9 +357,14 @@ if test -e $OUTPFIL ; then mv -f $OUTPFIL $OUTPFIL'_bak' ; fi echo " t4update: run "`basename $0`" ( $PRC_MAILS newer than $OUTPSUM )" | tee $OUTPFIL fi + elif test -f $OUTPSUM -a $FIRSTDAY = $CURR_DAY ; then + echo ' '$CMDLINE | tee -a $OUTPSUM + echo " t4update: skip "`basename $0`" ( $PRC_MAILS missing )" | tee -a $OUTPSUM + echo " End time: "`date` | tee -a $OUTPSUM + exit 0 else if test -e $OUTPFIL ; then mv -f $OUTPFIL $OUTPFIL'_bak' ; fi - echo " t4update ignored (not current day or $PRC_MAILS or $OUTPSUM missing)" | tee $OUTPFIL + echo " t4update ignored (not current day or $OUTPSUM missing)" | tee $OUTPFIL fi elif test -e $OUTPFIL ; then mv -f $OUTPFIL $OUTPFIL'_bak' @@ -386,8 +412,8 @@ ( cd $INDIR ; ls -1 -t */summary.txt | sed 's/\/summary.txt//' ) > $TMP.dir_all if test "x$MACHINES" = "x_All_" ; then - MACHINES="aces- acesgrid baudelaire danton iblade sx8 uv100 pleiades" - MACHINES="$MACHINES stomp octopus engaging saramago svante glacier" + MACHINES="villon batsi engaging1 engaging- svante glacier" + MACHINES="$MACHINES albedo pleiades archer" MALL=`cat $TMP.dir_all | sed -e 's|_| |g' | awk '{print $2}' | sort | uniq` for madd in $MALL ; do @@ -447,8 +473,8 @@ fi #- discard unsafe test: dd=`echo $optf | grep -c 'gfortran+mth'` - if test $mname = 'lagoon' -a $dd = 1 ; then num=-1 ; fi - if test $mname = 'harbor' -a $dd = 1 ; then num=-1 ; fi + #if test $mname = 'lagoon' -a $dd = 1 ; then num=-1 ; fi + #if test $mname = 'harbor' -a $dd = 1 ; then num=-1 ; fi #if test $mname = 'aces' -a $optf = 'linux_ia32_open64' ; then num=-1 ; fi #if test $mname = 'aces' -a $optf = 'linux_ia32_g95' ; then num=-1 ; fi dd=`echo $optf | grep -c 'bigred.*noieee'` @@ -561,8 +587,13 @@ rm -f $TMP.dir_all $TMP.slist $TMP.plist if test $OUTPFIL = "TTT.$$" ; then rm -f $OUTPFIL ; fi if test "x$ADDRESS" != 'xnone' ; then - echo ".. send $OUTPSUM to $ADDRESS" - mail -s $OUTPSUM $ADDRESS < $OUTPSUM + #- change default sender address ("From:") using "mail -r" option + # since, by default, baudelaire uses USER@localhost.localdomain + #fullNam=`hostname -A | awk '{print $1}'` + #MAILCMD="$MAILCMD -r ${USER}@${fullNam}" + #--- + echo ".. send $OUTPSUM to '$ADDRESS' using '$MAILCMD'" + $MAILCMD -s 'check_outp summary' $ADDRESS < $OUTPSUM fi echo ".. cat $OUTPSUM" cat $OUTPSUM