--- mitgcm.org/front_content/make_summary 2003/12/07 00:23:45 1.3
+++ mitgcm.org/front_content/make_summary 2006/04/28 14:41:00 1.29
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.3 2003/12/07 00:23:45 edhill Exp $
+# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.29 2006/04/28 14:41:00 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 "$MACH | " >> $OUTFILE
+ echo "$DATE | " >> $OUTFILE
+ for i in $fresults ; do
+ if test "x$i" = xN ; then
+ echo -n "$i | " >> $OUTFILE
+ else
+ echo -n "$i | " >> $OUTFILE
+ fi
+ done
+ echo "$optfile | " >> $OUTFILE
+ echo "
" >> $OUTFILE
+
+ done
+
+ cat >> $OUTFILE << EOF
+
+
+
+
+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 "$MACH | " >> $OUTFILE
- echo "$DATE | " >> $OUTFILE
- for i in $fresults ; do
- if test "x$i" = xN ; then
- echo -n "$i | " >> $OUTFILE
- else
- echo -n "$i | " >> $OUTFILE
- fi
- done
- echo "$optfile | " >> $OUTFILE
- echo "
" >> $OUTFILE
-
-done
-
-cat >> $OUTFILE << EOF
-
-
-
-
-
-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 @@
-
-
+
+
@@ -170,31 +172,38 @@
The machine naming scheme is:
- Machine Type | "Nickname" |
+
Machine Type | Nickname |
Notes |
Intel P4 | "faulks" |
- Red Hat 7.3 (the "original" testing machine) |
- Intel P4 | "shelley" |
- Red Hat 9 |
+ Fedora Core 3 |
+ Intel P4 | "hemmingway" |
+ Fedora Core 3 |
Intel P3/P4 Beowulf | "myrinet" |
MITgcm cluster
facility |
Alpha cluster | "halem" |
-
+ |
NASA NCCS Halem |
+
+
+ SGI Altix 350 | "altix350" |
+ MIT ACESgrid
+ GeoCluster |
IBM POWER3 SP | "bf" |
NCAR Blackforest
|
@@ -202,8 +211,30 @@
IBM POWER4 SP | "bs" |
NCAR Bluesky
|
+ AMD Opteron | "adams" |
+ Fedora Core 4 (AMD64) |
+
+ Sun UltraSparc | "slough" |
+ Solaris 8 |
+ Intel P4 Mosix Cluster | "sea" |
+ Red Hat v7.2 |
+
+ Intel P4 | "eddy" |
+ Fedora Core 5 |
+ AMD Opteron cluster | "dolphin" |
+ SuSE SLES v8.1 |
+
+ IBM/Apple dual G5 | "two" |
+ Mac OSX 10.3 (gcc 3.4) |
+
+ ACESgrid Dell
+ Xeon | "aces" | Fedora Core 2 |
@@ -212,32 +243,46 @@
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:
- "Nickname" |
+ Nickname |
OPTFILE Name |
- Date (YYYYMMDD) |
+ Type |
+ Date |
+ Summary |
+ Ratio |
EOF
color="#bbffdd"
+ncolor="#bbddff"
res_url="http://mitgcm.org/testing/"
-MACHINES="faulks shelley myrinet eaps halem hopper lomax orion bf bs"
-
-( cd $INDIR ; ls -1 ) > ./dir_all
+MACHINES="faulks shelley myrinet eaps halem columbia two"
+MACHINES="$MACHINES hopper lomax turing orion bf bs slough sea"
+MACHINES="$MACHINES eddy adams dolphin hemmingway altix350 edvir"
+
+( cd $INDIR ; ls -1 -t ) > ./dir_all
+
+MALL=`cat ./dir_all | sed -e 's|_| |g' | awk '{print $2}' | sort | uniq`
+for madd in $MALL ; do
+ present=0
+ for m in $MACHINES ; do
+ echo $madd | grep $m > /dev/null 2>&1
+ RETVAL=$?
+ test $RETVAL = 0 && present=1
+ continue
+ done
+ test $present = 0 && MACHINES="$MACHINES $madd"
+done
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
@@ -257,7 +302,7 @@
OPTFILE=${OPTFILE##*/}
fi
if test "x$OPTFILE" = x ; then
- comm=`grep '^# OPTFILE=' $dir/*/Makefile 2>/dev/null | head -1`
+ comm=`grep '^# OPTFILE=' $dir/*/Makefile* 2>/dev/null | head -1`
comm=${comm##*#}
eval $comm
OPTFILE=${OPTFILE##*/}
@@ -265,6 +310,44 @@
if test "x$OPTFILE" = x ; then
OPTFILE="not_explicitly_specified"
fi
+
+ ADJOINT=
+ if test -r $dir/summary.txt ; then
+ comm=`grep 'ADJOINT=true' $dir/summary.txt 2>/dev/null`
+ eval $comm
+ fi
+ if test "x$ADJOINT" = x ; then
+ kind="forward"
+ else
+ 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
@@ -272,7 +355,8 @@
done
DAY=`cat ./ms_tmp | awk '(length($1)==8 && substr($1,0,3)=="200")'`
rm -f ./ms_tmp
- echo "$OPTFILE $DAY $i" >> ./mlist
+
+ echo "$OPTFILE$kind $DAY $OPTFILE $kind $i $t_pass:$t_tot" >> ./mlist
done
@@ -282,16 +366,30 @@
# Do we have any data? If so, create the latest pointer.
num=`wc -l ./mlist | awk '{print $1}'`
if test $num -gt 0 ; then
- optfiles=`cat ./mlist | cut -d " " -f 1 | sort | uniq`
- for optf in $optfiles ; do
- ldir=`grep "^$optf " ./mlist | sort -r | head -1 | cut -d " " -f 3`
+ # 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 | 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"
cat <>$LATEST
- $mname |
+ $mname |
$optf |
- $DAY |
+ $kind |
+ $DAY |
+ summary.txt |
+ $ratio |
EOF
done
@@ -300,8 +398,17 @@
done
cat >> $LATEST << EOF
+
+ This table generated on: $the_date |
+
+
+Examples of the scripts used for these testing runs can be obtained from:
+MITgcm/tools/example_scripts.
+
+