--- mitgcm.org/front_content/make_summary 2004/09/24 02:43:37 1.23 +++ mitgcm.org/front_content/make_summary 2009/06/15 23:44:46 1.50 @@ -1,6 +1,6 @@ #! /usr/bin/env bash -# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.23 2004/09/24 02:43:37 edhill Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/mitgcm.org/front_content/make_summary,v 1.50 2009/06/15 23:44:46 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 "" >> $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" -} - - +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,28 @@ 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" +#OUTDIR="/home/jmc/mitgcm/test_web/summary" 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 +86,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,59 +96,109 @@ 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 "bay" Fedora Core 5 + + Intel P4 "meander" Fedora Core 7 + + Intel P4 "lagoon" Fedora 8 + + Intel Xeon (Woodcrest) "dickens" Fedora 10 (x86_64) + + Intel Core 2 duo "danton" Fedora 8 (x86_64) + + + ACESgrid Dell Xeon + "aces"Fedora Core 2 - Intel P3/P4 Beowulf "myrinet" - MITgcm cluster + - SGI Origin 2000 "hopper" + + + + SGI Altix Cluster "columbia" + + NAS Columbia - - SGI Altix 350 "altix350" - MIT ACESgrid + + + IBM POWER4 SP "edvir" AIX 5.2 + + IBM POWER5+ SP "blueice" + NCAR Blueice - AMD Opteron "adams" - Fedora Core 2 (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 - - IBM/Apple dual G5 "two" - Mac OSX 10.3 (gcc 3.4) + + Intel Xeon (Woodcrest) cluster + "beagle"Rocks 5.2 (x86_64) + + + AMD Opteron "batsi" Fedora Core 4 (AMD64) + + AMD Opteron "starp" SuSE SLES 10 (AMD64) + + Sun UltraSparc IV "solssrv" Solaris 10 + + 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 8900) "td191" 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) - + @@ -237,7 +208,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:

@@ -253,13 +224,12 @@ color="#bbffdd" ncolor="#bbddff" -res_url="http://mitgcm.org/testing/" -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" +MACHINES="faulks aces bay meander lagoon dickens danton" +MACHINES="$MACHINES columbia edvir rays solssrv solasrv sx8 xd1" +MACHINES="$MACHINES beagle batsi starp" -( cd $INDIR ; ls -1 -t ) > ./dir_all +( 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 @@ -272,6 +242,7 @@ done test $present = 0 && MACHINES="$MACHINES $madd" done +#MACHINES="faulks" for mname in $MACHINES ; do @@ -305,40 +276,38 @@ fi ADJOINT= + RESTART=0 + NOI3E=0 + MTH=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` + NOI3E=`grep -c "^run: .*testreport.* '*-noieee'* " $dir/summary.txt` + MTH=`grep -c "^run: .*testreport.* -mth " $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 + if test "x$NOI3E" = x1 ; then + OPTFILE="${OPTFILE}.noieee" + fi + if test "x$MTH" = x1 ; then + yy=`echo $OPTFILE | grep -c 'mth$'` + if test $yy = 0 ; then OPTFILE="${OPTFILE}+mth" ; fi 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'` @@ -375,7 +344,7 @@ optf=`echo $tline | cut -d " " -f 3` DAY=`echo $tline | cut -d " " -f 2` URL="results/$PERIOD/$ldir" - cat <>$LATEST + cat <>$OUTFILE @@ -390,17 +359,16 @@ done -cat >> $LATEST << EOF +cat >> $OUTFILE << EOF
$mname $optf
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.

@@ -410,7 +378,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 (