--- mitgcm.org/front_content/make_summary 2003/12/07 06:52:17 1.4 +++ mitgcm.org/front_content/make_summary 2004/04/02 21:51:31 1.14 @@ -1,6 +1,6 @@ #! /usr/bin/env bash -# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.4 2003/12/07 06:52:17 edhill Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.14 2004/04/02 21:51:31 edhill Exp $ # # The purpose of this script is to create HTML summaries of the # directories produced by the "parse_emails" script. @@ -19,6 +19,89 @@ exit 1 } +old_summary() +{ + # Create the old-style summary file for $PERIOD + echo -n "Creating the summary file for the period \"$PERIOD\" ... " + cat > $OUTFILE << EOF + + + + + MITgcm testing summary + + + + + + +EOF + + # all_files=`find $INDIR -name summary.txt` + all_files=`( cd $INDIR ; find . -name summary.txt )` + + for f in $all_files ; do + + file=$INDIR"/"${f/.\//} + grep "^fresults" $file > /dev/null 2>&1 + RETVAL=$? + if test "x$RETVAL" != x0 ; then + continue + fi + + url=`echo $file | sed -e 's|/u/edhill/www|http://mitgcm.org/~edhill|'` + url=`echo $url | sed -e 's|summary.txt||'` + MACH= + fresults= + color="#eeeeee" + + source $file + echo $fresults | grep FAIL > /dev/null 2>&1 + if test "x$?" = x0 ; then + color="#ff99ff" + fi + echo $fresults | grep pass > /dev/null 2>&1 + if test "x$?" = x0 ; then + color="#99ffff" + fi + + gm_state=`echo $file | sed -e 's/summary.txt/genmake_state/g'` + if test -r $gm_state ; then + grep '^OPTFILE=' $gm_state > ./tmp_state + source ./tmp_state + else + optfile="unknown" + fi + optfile=`echo $OPTFILE | awk -F '/' '{print $NF}'` + + echo "" >> $OUTFILE + echo "" >> $OUTFILE + echo "" >> $OUTFILE + for i in $fresults ; do + if test "x$i" = xN ; then + echo -n "" >> $OUTFILE + else + echo -n "" >> $OUTFILE + fi + done + echo "" >> $OUTFILE + echo "" >> $OUTFILE + + done + + cat >> $OUTFILE << EOF + +
$MACH$DATE$i$i$optfile
+ + +EOF + + chmod a+r $OUTFILE + echo "done" +} + + # defaults PERIOD=`date +%Y`"_"`date +%m` @@ -58,91 +141,10 @@ OUTDIR="/u/u0/httpd/html/testing/summary" OUTFILE=$OUTDIR"/summary_"$PERIOD".html" - -# Create the summary file for $PERIOD -echo -n "Creating the summary file for the period \"$PERIOD\" ... " -cat > $OUTFILE << EOF - - - - - MITgcm testing summary - - - - - - -EOF - -# all_files=`find $INDIR -name summary.txt` -all_files=`( cd $INDIR ; find . -name summary.txt )` - -for f in $all_files ; do - - file=$INDIR"/"${f/.\//} - grep "^fresults" $file > /dev/null 2>&1 - RETVAL=$? - if test "x$RETVAL" != x0 ; then - continue - fi - - url=`echo $file | sed -e 's|/u/edhill/www|http://mitgcm.org/~edhill|'` - url=`echo $url | sed -e 's|summary.txt||'` - MACH= - fresults= - color="#eeeeee" - - source $file - echo $fresults | grep FAIL > /dev/null 2>&1 - if test "x$?" = x0 ; then - color="#ff99ff" - fi - echo $fresults | grep pass > /dev/null 2>&1 - if test "x$?" = x0 ; then - color="#99ffff" - fi - - gm_state=`echo $file | sed -e 's/summary.txt/genmake_state/g'` - if test -r $gm_state ; then - grep '^OPTFILE=' $gm_state > ./tmp_state - source ./tmp_state - else - optfile="unknown" - fi - optfile=`echo $OPTFILE | awk -F '/' '{print $NF}'` - - echo "" >> $OUTFILE - echo "" >> $OUTFILE - echo "" >> $OUTFILE - for i in $fresults ; do - if test "x$i" = xN ; then - echo -n "" >> $OUTFILE - else - echo -n "" >> $OUTFILE - fi - done - echo "" >> $OUTFILE - echo "" >> $OUTFILE - -done - -cat >> $OUTFILE << EOF - -
$MACH$DATE$i$i$optfile
- - - -EOF - -chmod a+r $OUTFILE -echo "done" - - # Create the "latest" links echo "Creating the \"latest\" file for each machine: " LATEST=$OUTDIR"/latest_"$PERIOD".html" +the_date=`date` cat > $LATEST << EOF @@ -155,8 +157,8 @@ - - + + @@ -175,14 +177,14 @@ Intel P4 "faulks" Red Hat 7.3 (the "original" testing machine) - Intel P4 "shelley" - Red Hat 9 + Intel P4 "hemmingway" + Fedora Core release 1 (gcc 3.3.2) Intel P3/P4 Beowulf "myrinet" MITgcm cluster facility Alpha cluster "halem" - + NASA NCCS Halem SGI Origin 2000 "hopper" @@ -202,10 +204,24 @@ IBM POWER4 SP "bs" NCAR Bluesky - AMD Opteron "eaps" + AMD Opteron "adams" SuSE Linux 9.0 (x86-64) + Sun UltraSparc "slough" + Solaris 8 + Intel P4 Mosix Cluster "sea" + Red Hat v7.2 + + AMD Athlon XP 2500+ "eddy" + Fedora Core release 1.91 [FC2 Test 2] (gcc 3.3.3) + AMD Opteron cluster "dolphin" + SuSE SLES v8.1 + @@ -214,34 +230,33 @@


The complete output for the verification runs can be found in - the summary pages. + the summary pages + and the testing archives. The latest reports are:

- + + EOF color="#bbffdd" +ncolor="#bbddff" res_url="http://mitgcm.org/testing/" -MACHINES="faulks shelley myrinet eaps halem hopper lomax orion bf bs" +MACHINES="faulks shelley myrinet eaps halem hopper lomax orion bf bs slough sea" +MACHINES="$MACHINES eddy adams dolphin hemmingway" ( cd $INDIR ; ls -1 ) > ./dir_all for mname in $MACHINES ; do echo " $mname" - if test "x$color" = x#bbffdd ; then - color="#bbddff" - else - color="#bbffdd" - fi dir_list=`grep $mname ./dir_all` echo -n "" > ./mlist @@ -281,6 +296,32 @@ test "x$ADJOINT" = xtrue && kind="adjoint" fi + t_pass="--" + t_tot="--" + if test -r $dir/summary.txt ; then + grep '^[YN] [YN] [YN] [YN] ' $dir/summary.txt > ./all_tests 2>/dev/null + t_tot=`cat ./all_tests | wc -l | sed -e 's| ||g'` + grep '^Y Y Y Y ' ./all_tests > ./all_ran 2>/dev/null + grep advect_ ./all_ran 2>/dev/null > ./all_ran_advect + t_advect=`cat ./all_ran_advect | wc -l | sed -e 's| ||g'` + digits=`cat ./all_ran_advect | awk '{print $9}'` + t_advect_pass=0 + for k in $digits ; do + test "x$k" = x-- && k=0 + test $k -ge 9 && t_advect_pass=$(( $t_advect_pass + 1 )) + done + grep -v advect ./all_ran 2>/dev/null > ./all_ran_noadvect + digits=`cat ./all_ran_noadvect | awk '{print $5}'` + t_sum=0 + for k in $digits ; do + test "x$k" = x-- && k=0 + test $k -ge 9 && t_sum=$(( $t_sum + 1 )) + done + t_pass=$(( $t_sum + $t_advect_pass )) + fi + rm -f ./all_tests ./all_ran ./all_ran_advect ./all_ran_noadvect + # echo "${dir##*/} : $t_pass out of $t_tot" + tokens=`echo $i | sed -e 's|_| |g'` echo "" > ./ms_tmp for tok in $tokens ; do @@ -289,7 +330,7 @@ DAY=`cat ./ms_tmp | awk '(length($1)==8 && substr($1,0,3)=="200")'` rm -f ./ms_tmp - echo "$OPTFILE$kind $DAY $OPTFILE $kind $i" >> ./mlist + echo "$OPTFILE$kind $DAY $OPTFILE $kind $i $t_pass:$t_tot" >> ./mlist done @@ -299,10 +340,17 @@ # Do we have any data? If so, create the latest pointer. num=`wc -l ./mlist | awk '{print $1}'` if test $num -gt 0 ; then + + # swap colors + ctmp=$color + color=$ncolor + ncolor=$ctmp + keys=`cat ./mlist | cut -d " " -f 1 | sort | uniq` for key in $keys ; do tline=`grep "^$key " ./mlist | sort -r | 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` @@ -315,6 +363,7 @@ + EOF done @@ -323,8 +372,18 @@ done cat >> $LATEST << EOF + + +
Nickname OPTFILE Name Type Date (yyyymmdd) Date Summary Ratio
$kind $DAY summary.txt $ratio
This table generated on: $the_date
+ +

Examples of the scripts used for these testing runs can be obtained +from +the "contrib" area of the MITgcm CVS archive.

+ +