--- mitgcm.org/front_content/make_summary 2012/09/04 20:29:22 1.74 +++ mitgcm.org/front_content/make_summary 2022/12/03 16:57:13 1.88 @@ -1,11 +1,10 @@ #! /usr/bin/env bash -# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.74 2012/09/04 20:29:22 jmc Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.88 2022/12/03 16:57:13 jmc Exp $ # # The purpose of this script is to create HTML summaries of the # directories produced by the "parse_emails" script. - usage() { echo @@ -64,6 +63,18 @@ OUTFILE=$OUTDIR"/output_"$PERIOD".html" res_url="http://mitgcm.org/testing/" +#TMP=./mksum_$$ +#- try to put temporary files in system-local /tmp dir +TMP=/tmp/mksum_$$ +touch $TMP ; retVal=$? +if [ $retVal -eq 0 ] ; then + if test ! -r $TMP ; then TMP=./mksum_$$ ; fi +else + TMP=./mksum_$$ +fi +rm -f $TMP +# echo "temp files: $TMP" + # Create the links in $OUTFILE : echo "Creating the \"latest\" file for each machine: " the_date=`date` @@ -85,13 +96,12 @@ color="#bbffdd" ncolor="#bbddff" -MACHINES="faulks meander aces- acesgrid baudelaire dickens danton beagle harbor" -MACHINES="$MACHINES pleiades iblade rays solasrv sx8" -MACHINES="$MACHINES trane dodongo dokdo stomp bigred" +MACHINES="villon batsi engaging svante glacier" +MACHINES="$MACHINES ollie albedo pleiades archer" -( cd $INDIR ; ls -1 -t */summary.txt | sed 's/\/summary.txt//' ) > ./dir_all +( cd $INDIR ; ls -1 -t */summary.txt | sed 's/\/summary.txt//' ) > $TMP.dir_all -MALL=`cat ./dir_all | sed -e 's|_| |g' | awk '{print $2}' | sort | uniq` +MALL=`cat $TMP.dir_all | sed -e 's|_| |g' | awk '{print $2}' | sort | uniq` for madd in $MALL ; do present=0 for m in $MACHINES ; do @@ -107,10 +117,9 @@ for mname in $MACHINES ; do echo " $mname" - sname=`echo $mname | sed 's/-$//'` - dir_list=`grep $mname ./dir_all` - echo -n "" > ./mlist + dir_list=`grep $mname $TMP.dir_all` + echo -n "" > $TMP.mlist for i in $dir_list ; do @@ -137,60 +146,86 @@ fi # EXTRA = non-standard list of experiment - ADJOINT= - TANGLIN= + ADJOINT=0 + TANGLIN=0 + OPENAD=0 RESTART=0 - EXTRA=0 + Special=0 + EXTRA= FAST=0 DVLP=0 MPI=0 MTH=0 UR4=0 if test -r $dir/summary.txt ; then - comm=`grep 'ADJOINT=true' $dir/summary.txt 2>/dev/null` - eval $comm - comm=`grep 'TANGLIN=true' $dir/summary.txt 2>/dev/null` - eval $comm + ADJOINT=`grep -c -i '^ADJOINT' $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" tests + 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"` + Special=`echo $Special | awk '{print $2}' | sed 's/darwin//'` + fi comm=`grep '^run: .*testreport.* ' $dir/summary.txt` - EXTRA=`echo "$comm" | grep -c " -*-tdir\>"` - if test "x$EXTRA" = x0 ; then - EXTRA=`echo "$comm" | grep -c " -*-t\>"` + 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" + 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'*"` + FAST=`echo "$comm" | grep -c " '*-noieee'*"` fi DVLP=`echo "$comm" | grep -c " -*-devel\>"` MPI=`echo "$comm" | grep -c " -*-mpi\>"` if test "x$MPI" = x0 ; then - MPI=`echo "$comm" | grep -c " -*-MPI\>"` + MPI=`echo "$comm" | grep -c " -*-MPI\>"` fi MTH=`echo "$comm" | grep -c " -*-mth\>"` UR4=`echo "$comm" | grep -c " -*-use_r4\>"` if test "x$UR4" = x0 ; then - UR4=`echo "$comm" | grep -c " -*-ur4\>"` + UR4=`echo "$comm" | grep -c " -*-ur4\>"` fi - fi - if test "x$ADJOINT" = xtrue ; then - kind="adjoint" ; order=0 - elif test "x$TANGLIN" = xtrue ; then - kind="tanglin" ; order=1 + else EXTRA=0 ; fi + if test "x$ADJOINT" = x1 ; then + kind="adjoint-taf" ; order=0 + if test "x$OPENAD" = x1 ; then + kind="adjoint-oad" ; order=2 + fi + elif test "x$TANGLIN" = x1 ; then + kind="tanglin-taf" ; order=1 + if test "x$OPENAD" = x1 ; then + kind="tanglin-oad" ; order=3 + fi elif test "x$RESTART" = x0 ; then - kind="forward" ; order=2 + kind="forward" ; order=4 else - kind="restart" ; order=3 - fi - if test "x$EXTRA" != x0 ; then - order=`expr $order + 4` + kind="restart" ; order=5 fi - 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$'` @@ -202,6 +237,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` t_pass="--" t_tot="--" @@ -221,15 +262,15 @@ DAY=`cat ./ms_tmp | awk '(length($1)==8 && substr($1,0,2)=="20")'` rm -f ./ms_tmp - echo "$OPTFILE$order $DAY $OPTFILE $kind $i $t_pass:$t_tot" >> ./mlist + echo "$OPTFILE$order $DAY $OPTFILE $kind $i $t_pass:$t_tot" >> $TMP.mlist done # helpful for debugging - # cat ./mlist + # cat $TMP.mlist # Do we have any data? If so, create the latest pointer. - num=`wc -l ./mlist | awk '{print $1}'` + num=`wc -l $TMP.mlist | awk '{print $1}'` if test $num -gt 0 ; then # swap colors @@ -237,16 +278,21 @@ color=$ncolor ncolor=$ctmp - keys=`cat ./mlist | cut -d " " -f 1 | sort | uniq` + keys=`cat $TMP.mlist | cut -d " " -f 1 | sort | uniq` for key in $keys ; do - tline=`grep "^$key " ./mlist | head -1` + tline=`grep "^$key " $TMP.mlist | head -1` ratio=`echo $tline | cut -d " " -f 6` ldir=`echo $tline | cut -d " " -f 5` kind=`echo $tline | cut -d " " -f 4` optf=`echo $tline | cut -d " " -f 3` DAY=`echo $tline | cut -d " " -f 2` URL="results/$PERIOD/$ldir" + #-- machine name to print: + sname=`echo $mname | sed 's/-$//'` + alt=`echo $key | sed "s/$optf//"` + #if [ $alt -ge 30 ] ; then sname="${sname}.darwin" + #elif [ $alt -ge 20 ] ; then sname="${sname}.monod" ; fi cat <>$OUTFILE $sname @@ -270,16 +316,15 @@

Examples of the scripts used for these testing runs can be obtained from: -MITgcm/tools/example_scripts.

- +href="http://mitgcm.org/viewvc/MITgcm/MITgcm_contrib/test_scripts/"> +MITgcm_contrib/test_scripts.

EOF -rm -f ./dir_all ./mlist +rm -f $TMP.dir_all $TMP.mlist #- put the file in place chgrp gcmpack $OUTFILE