--- mitgcm.org/front_content/make_summary 2004/03/04 21:48:42 1.12 +++ mitgcm.org/front_content/make_summary 2007/12/25 22:01:48 1.34 @@ -1,6 +1,6 @@ #! /usr/bin/env bash -# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.12 2004/03/04 21:48:42 edhill Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.34 2007/12/25 22:01:48 jmc Exp $ # # The purpose of this script is to create HTML summaries of the # directories produced by the "parse_emails" script. @@ -19,89 +19,6 @@ 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` @@ -176,27 +93,36 @@ Notes Intel P4 "faulks" - Red Hat 7.3 (the "original" testing machine) - Intel P4 "shelley" - Red Hat 9 + Fedora Core 6 + Intel P4 "eddy" + Fedora Core 5 + + + + SGI Altix 350 "altix350" + MIT ACESgrid + GeoCluster IBM POWER3 SP "bf" NCAR Blackforest @@ -205,22 +131,27 @@ NCAR Bluesky AMD Opteron "adams" - SuSE Linux 9.0 (x86-64) + Fedora Core 4 (AMD64) + + + Intel P4 Mosix Cluster "sea" + Fedora Core 6 - AMD Athlon "eddy" - Fedora Core release 1.90 (FC2 Test 1) [gcc 3.3.3] AMD Opteron cluster "dolphin" SuSE SLES v8.1 - Intel P4 "hemmingway" - Fedora Core release 1 (gcc 3.3.2) + IBM/Apple dual G5 "two" + Mac OSX 10.3 (gcc 3.4) + + ACESgrid Dell + Xeon "aces"Fedora Core 2 @@ -248,10 +179,23 @@ ncolor="#bbddff" res_url="http://mitgcm.org/testing/" -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 +MACHINES="faulks aces eddy bay meander" +MACHINES="$MACHINES edvir rays1 model columbia" +MACHINES="$MACHINES xd1 batsi starp" + +( cd $INDIR ; ls -1 -t */summary.txt | sed 's/\/summary.txt//' ) > ./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 @@ -275,7 +219,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##*/} @@ -285,40 +229,27 @@ fi ADJOINT= + RESTART=0 if test -r $dir/summary.txt ; then comm=`grep 'ADJOINT=true' $dir/summary.txt 2>/dev/null` eval $comm + RESTART=`grep -c 'test 2+2=4 summary' $dir/summary.txt` fi - if test "x$ADJOINT" = x ; then + if test "x$RESTART" = x0 ; then kind="forward" - else test "x$ADJOINT" = xtrue && kind="adjoint" + else + kind="restart" 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 + 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 )) + t_pass=`grep 'pass ' ./all_tests | wc -l | sed -e 's| ||g'` fi - rm -f ./all_tests ./all_ran ./all_ran_advect ./all_ran_noadvect + rm -f ./all_tests # echo "${dir##*/} : $t_pass out of $t_tot" tokens=`echo $i | sed -e 's|_| |g'` @@ -348,7 +279,7 @@ keys=`cat ./mlist | cut -d " " -f 1 | sort | uniq` for key in $keys ; do - tline=`grep "^$key " ./mlist | sort -r | head -1` + 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` @@ -377,10 +308,9 @@ -

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

+

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