--- mitgcm.org/front_content/make_summary	2004/06/02 19:08:03	1.16
+++ mitgcm.org/front_content/make_summary	2008/06/27 16:01:03	1.39
@@ -1,6 +1,6 @@
 #! /usr/bin/env bash
 
-# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.16 2004/06/02 19:08:03 edhill Exp $
+# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.39 2008/06/27 16:01:03 jmc Exp $
 #
 #  The purpose of this script is to create HTML summaries of the
 #  directories produced by the "parse_emails" script.
@@ -19,105 +19,23 @@
     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"
-}
-
-
+CURR_PER=`date +%Y`"_"`date +%m`
 # defaults
-PERIOD=`date +%Y`"_"`date +%m`
+PERIOD=$CURR_PER
 
 #  Parse options
 ac_prev=
 for ac_option ; do
-        
+
     # If the previous option needs an argument, assign it.
     if test -n "$ac_prev"; then
         eval "$ac_prev=\$ac_option"
         ac_prev=
         continue
     fi
-    
+
     ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-    
+
     case $ac_option in
 	
 	-help | --help | -h | --h)
@@ -127,25 +45,27 @@
             ac_prev=PERIOD ;;
         --date=* | -date=*)
             PERIOD=$ac_optarg ;;
-        
+
         *)
 	    echo "Error: don't understand argument \"$ac_option\""
 	    usage
             ;;
-        
+
      esac
-     
+
 done
 
+#INDIR="/net/orwell/export/export-9/mitgcm-testing/results/$PERIOD"
 INDIR="/u/u0/httpd/html/testing/results/$PERIOD"
 OUTDIR="/u/u0/httpd/html/testing/summary"
-OUTFILE=$OUTDIR"/summary_"$PERIOD".html"
 
-#  Create the "latest" links
+OUTFILE=$OUTDIR"/output_"$PERIOD".html"
+res_url="http://mitgcm.org/testing/"
+
+#  Create the links in $OUTFILE :
 echo "Creating the \"latest\" file for each machine: "
-LATEST=$OUTDIR"/latest_"$PERIOD".html"
 the_date=`date`
-cat > $LATEST << EOF
+cat > $OUTFILE << EOF
 
 
@@ -165,9 +85,9 @@
 
   
   
-    The MITgcm model is tested 
-      (compiled and run) in an automated fashion on a varirety of 
-      different machines.  The following is a summary of the MITgcm 
+    
The MITgcm model is tested
+      (compiled and run) in an automated fashion on a varirety of
+      different machines.  The following is a summary of the MITgcm
       verification suite for the time period: $PERIOD.
 
     The machine naming scheme is:
@@ -175,53 +95,88 @@
        | Machine Type |  Nickname | 
         Notes |  
 
-       | Intel P4 |  "faulks" |  
-        Fedora Core 1 [formerly Red Hat 7.3] |  
-       | Intel P4 |  "hemmingway" | 
-        Fedora Core 1 (gcc 3.3.2) |  
+       | Intel P4 |  "faulks" | 
+        Fedora Core 6  |  
+       |  Intel P4 |  "eddy" | 
+        Fedora Core 5 |  
+       |  Intel P4  |  "bay" | 
+        Fedora Core 5  |  
+       |  Intel P4  |  "meander" | 
+        Fedora Core 7  |  
+
+       |  ACESgrid Dell
+        Xeon  |  "aces" | Fedora Core 2 |  
 
+      
 
+      
 
-       |  SGI Altix  |  "orion" | 
-        JPL Supercomputing and 
-        Visualization Facility |  
+       |  SGI Altix Cluster  |  "columbia" | 
+        
+        NAS Columbia  |  
+
+      
+       |  IBM POWER4 SP  |  "edvir" | 
+         AIX 5.2  |  
+       |  IBM POWER5+ SP  |  "blueice" | 
+        NCAR Blueice
          |  
-       |  AMD Opteron  |  "adams" | 
-        RHEL v3 (AMD64) |  
 
-       |  Sun UltraSparc  |  "slough" | 
-        Solaris 8 |  
-       |  Intel P4 Mosix Cluster  |  "sea" | 
-        Red Hat v7.2 |  
-
-       |  AMD Athlon XP 2500+ |  "eddy" | 
-        Fedora Core 2 (Red Hat gcc 3.3.3) |  
-       |  AMD Opteron cluster  |  "dolphin" | 
-        SuSE SLES v8.1 |  
+       |  AMD Opteron  |  "batsi" | 
+        Fedora Core 4 (AMD64) |  
+       |  AMD Opteron  |  "starp" | 
+        SuSE SLES 10 (AMD64) |  
 
+       |  Sun UltraSparc IV  |  "rays" | 
+        Solaris 9 |  
       
+       |  NEC SX-8  |  "sx8" | 
+        Super-UX  |  
+       |  Cray XD1 (AMD Opteron)  |  "xd1" | 
+        Cray HPC enhanced Linux 2.6.5  |  
+       |  PowerPC970MP cluster  |  "bigred" | 
+        SuSE SLES 9 (PPC)  |  
+
+       |  HP test-drive 
+        (Pentium III)  |  "td152" |   FreeBSD 6.2  |  
+       |  HP test-drive 
+        (Itanium II)  |  "td187" |  SuSE SLES 10  |  
+       |  HP test-drive 
+        (PA-RISC 8700)  |  "td192" |   HP-UX 11i 11.11  |  
+       |  HP test-drive 
+        (Itanium II)  |  "td194" |   HP-UX 11i v3  |  
 
-       |  Intel P4  |  "hemmingway" | 
-        Fedora Core release 1 (gcc 3.3.2)  |  
-
+      
@@ -231,7 +186,7 @@
     
       The complete output for the verification runs can be found in
       the summary pages
-      and the testing archives. 
+      and the testing archives.
       The latest reports are:
     
 
@@ -247,12 +202,25 @@
 
 color="#bbffdd"
 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 columbia edvir rays sx8 xd1"
+MACHINES="$MACHINES 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
+#MACHINES="faulks"
 
 for mname in $MACHINES ; do
 
@@ -276,7 +244,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##*/}
@@ -286,40 +254,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 '^Y Y Y Y' ./all_tests | grep 'pass ' | 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'`
@@ -349,14 +304,14 @@
 	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`
 	    optf=`echo $tline | cut -d " " -f 3`
 	    DAY=`echo $tline | cut -d " " -f 2`
 	    URL="results/$PERIOD/$ldir"
-	    cat <>$LATEST
+	    cat <>$OUTFILE
 
   |  $mname  | 
    $optf  | 
@@ -371,17 +326,16 @@
 
 done
 
-cat >> $LATEST << EOF
+cat >> $OUTFILE << EOF
 
   | 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.
+Examples of the scripts used for these testing runs can be obtained from: 
+MITgcm/tools/example_scripts.
 
 
   
@@ -391,7 +345,12 @@
 
 rm -f ./dir_all ./mlist
 
-CURR_PER=`date +%Y`"_"`date +%m`
+#- put the file in place
+chgrp gcmpack $OUTFILE
+chmod 664 $OUTFILE
+LATEST=$OUTDIR"/latest_"$PERIOD".html"
+mv -f $OUTFILE $LATEST
+
 if test "x$PERIOD" = "x$CURR_PER" ; then
     cp $LATEST ./testing.xml
     (