| 19 | exit 1 | exit 1 | 
| 20 | } | } | 
| 21 |  |  | 
| 22 |  | old_summary() | 
| 23 |  | { | 
| 24 |  | #  Create the old-style summary file for $PERIOD | 
| 25 |  | echo -n "Creating the summary file for the period \"$PERIOD\" ...  " | 
| 26 |  | cat > $OUTFILE << EOF | 
| 27 |  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 
| 28 |  | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 
| 29 |  |  | 
| 30 |  | <html xmlns="http://www.w3.org/1999/xhtml"> | 
| 31 |  | <head> | 
| 32 |  | <title>MITgcm testing summary</title> | 
| 33 |  | <meta name="author" content="Ed Hill" /> | 
| 34 |  | <base href="http://mitgcm.org/testing/summary/" /> | 
| 35 |  | </head> | 
| 36 |  | <body> | 
| 37 |  | <table cellpadding="0" cellspacing="0" border="0" width="100%"> | 
| 38 |  |  | 
| 39 |  | EOF | 
| 40 |  |  | 
| 41 |  | # all_files=`find $INDIR -name summary.txt` | 
| 42 |  | all_files=`( cd $INDIR ; find . -name summary.txt )` | 
| 43 |  |  | 
| 44 |  | for f in $all_files ; do | 
| 45 |  |  | 
| 46 |  | file=$INDIR"/"${f/.\//} | 
| 47 |  | grep "^fresults" $file > /dev/null 2>&1 | 
| 48 |  | RETVAL=$? | 
| 49 |  | if test "x$RETVAL" != x0 ; then | 
| 50 |  | continue | 
| 51 |  | fi | 
| 52 |  |  | 
| 53 |  | url=`echo $file | sed -e 's|/u/edhill/www|http://mitgcm.org/~edhill|'` | 
| 54 |  | url=`echo $url | sed -e 's|summary.txt||'` | 
| 55 |  | MACH= | 
| 56 |  | fresults= | 
| 57 |  | color="#eeeeee" | 
| 58 |  |  | 
| 59 |  | source $file | 
| 60 |  | echo $fresults | grep FAIL > /dev/null 2>&1 | 
| 61 |  | if test "x$?" = x0 ; then | 
| 62 |  | color="#ff99ff" | 
| 63 |  | fi | 
| 64 |  | echo $fresults | grep pass > /dev/null 2>&1 | 
| 65 |  | if test "x$?" = x0 ; then | 
| 66 |  | color="#99ffff" | 
| 67 |  | fi | 
| 68 |  |  | 
| 69 |  | gm_state=`echo $file | sed -e 's/summary.txt/genmake_state/g'` | 
| 70 |  | if test -r $gm_state ; then | 
| 71 |  | grep '^OPTFILE=' $gm_state > ./tmp_state | 
| 72 |  | source ./tmp_state | 
| 73 |  | else | 
| 74 |  | optfile="unknown" | 
| 75 |  | fi | 
| 76 |  | optfile=`echo $OPTFILE | awk -F '/' '{print $NF}'` | 
| 77 |  |  | 
| 78 |  | echo "<tr bgcolor=\"$color\">" >> $OUTFILE | 
| 79 |  | echo "<td height=\"0\">$MACH</td>" >> $OUTFILE | 
| 80 |  | echo "<td><a href=\"$url\">$DATE</a></td>" >> $OUTFILE | 
| 81 |  | for i in $fresults ; do | 
| 82 |  | if test "x$i" = xN ; then | 
| 83 |  | echo -n "<td bgcolor=\"#ff6666\">$i</td>" >> $OUTFILE | 
| 84 |  | else | 
| 85 |  | echo -n "<td>$i</td>" >> $OUTFILE | 
| 86 |  | fi | 
| 87 |  | done | 
| 88 |  | echo "<td>$optfile</td>" >> $OUTFILE | 
| 89 |  | echo "</tr>" >> $OUTFILE | 
| 90 |  |  | 
| 91 |  | done | 
| 92 |  |  | 
| 93 |  | cat >> $OUTFILE << EOF | 
| 94 |  |  | 
| 95 |  | </table> | 
| 96 |  | </body> | 
| 97 |  | </html> | 
| 98 |  | EOF | 
| 99 |  |  | 
| 100 |  | chmod a+r $OUTFILE | 
| 101 |  | echo "done" | 
| 102 |  | } | 
| 103 |  |  | 
| 104 |  |  | 
| 105 | # defaults | # defaults | 
| 106 | PERIOD=`date +%Y`"_"`date +%m` | PERIOD=`date +%Y`"_"`date +%m` | 
| 107 |  |  | 
| 141 | OUTDIR="/u/u0/httpd/html/testing/summary" | OUTDIR="/u/u0/httpd/html/testing/summary" | 
| 142 | OUTFILE=$OUTDIR"/summary_"$PERIOD".html" | OUTFILE=$OUTDIR"/summary_"$PERIOD".html" | 
| 143 |  |  | 
|  |  |  | 
|  | #  Create the summary file for $PERIOD |  | 
|  | echo -n "Creating the summary file for the period \"$PERIOD\" ...  " |  | 
|  | cat > $OUTFILE << EOF |  | 
|  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |  | 
|  | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |  | 
|  |  |  | 
|  | <html xmlns="http://www.w3.org/1999/xhtml"> |  | 
|  | <head> |  | 
|  | <title>MITgcm testing summary</title> |  | 
|  | <meta name="author" content="Ed Hill" /> |  | 
|  | <base href="http://mitgcm.org/testing/summary/" /> |  | 
|  | </head> |  | 
|  | <body> |  | 
|  | <table cellpadding="0" cellspacing="0" border="0" width="100%"> |  | 
|  |  |  | 
|  | 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 "<tr bgcolor=\"$color\">" >> $OUTFILE |  | 
|  | echo "<td height=\"0\">$MACH</td>" >> $OUTFILE |  | 
|  | echo "<td><a href=\"$url\">$DATE</a></td>" >> $OUTFILE |  | 
|  | for i in $fresults ; do |  | 
|  | if test "x$i" = xN ; then |  | 
|  | echo -n "<td bgcolor=\"#ff6666\">$i</td>" >> $OUTFILE |  | 
|  | else |  | 
|  | echo -n "<td>$i</td>" >> $OUTFILE |  | 
|  | fi |  | 
|  | done |  | 
|  | echo "<td>$optfile</td>" >> $OUTFILE |  | 
|  | echo "</tr>" >> $OUTFILE |  | 
|  |  |  | 
|  | done |  | 
|  |  |  | 
|  | cat >> $OUTFILE << EOF |  | 
|  |  |  | 
|  | </table> |  | 
|  | </body> |  | 
|  | </html> |  | 
|  |  |  | 
|  | EOF |  | 
|  |  |  | 
|  | chmod a+r $OUTFILE |  | 
|  | echo "done" |  | 
|  |  |  | 
|  |  |  | 
| 144 | #  Create the "latest" links | #  Create the "latest" links | 
| 145 | echo "Creating the \"latest\" file for each machine: " | echo "Creating the \"latest\" file for each machine: " | 
| 146 | LATEST=$OUTDIR"/latest_"$PERIOD".html" | LATEST=$OUTDIR"/latest_"$PERIOD".html" | 
| 207 | <tr bgcolor="#bbddff"> <td> AMD Opteron </td> <td>"eaps"</td> | <tr bgcolor="#bbddff"> <td> AMD Opteron </td> <td>"eaps"</td> | 
| 208 | <td>SuSE Linux 9.0 (x86-64)</td> </tr> | <td>SuSE Linux 9.0 (x86-64)</td> </tr> | 
| 209 |  |  | 
| 210 |  | <tr bgcolor="#bbffdd"> <td> Sun UltraSparc </td> <td>"slough"</td> | 
| 211 |  | <td>Solaris 8</td> </tr> | 
| 212 |  | <tr bgcolor="#bbddff"> <td> Intel P4 Mosix Cluster </td> <td>"sea"</td> | 
| 213 |  | <td>Red Hat v7.2</td> </tr> | 
| 214 |  |  | 
| 215 | <!-- | <!-- | 
| 216 | <tr bgcolor="#bbddff"> <td>  </td> <td>""</td> | <tr bgcolor="#bbddff"> <td>  </td> <td>""</td> | 
| 217 | <td></td> </tr> | <td></td> </tr> | 
| 231 | <td> <b>Type</b> </td> | <td> <b>Type</b> </td> | 
| 232 | <td> <b>Date</b> </td> | <td> <b>Date</b> </td> | 
| 233 | <td> <b>Summary</b> </td> | <td> <b>Summary</b> </td> | 
| 234 |  | <td> <b>Ratio</b> </td> | 
| 235 | </tr> | </tr> | 
| 236 |  |  | 
| 237 | EOF | EOF | 
| 239 | color="#bbffdd" | color="#bbffdd" | 
| 240 | res_url="http://mitgcm.org/testing/" | res_url="http://mitgcm.org/testing/" | 
| 241 |  |  | 
| 242 | MACHINES="faulks shelley myrinet eaps halem hopper lomax orion bf bs" | MACHINES="faulks shelley myrinet eaps halem hopper lomax orion bf bs slough sea" | 
| 243 |  |  | 
| 244 | ( cd $INDIR ; ls -1 ) > ./dir_all | ( cd $INDIR ; ls -1 ) > ./dir_all | 
| 245 |  |  | 
| 290 | test "x$ADJOINT" = xtrue  &&  kind="adjoint" | test "x$ADJOINT" = xtrue  &&  kind="adjoint" | 
| 291 | fi | fi | 
| 292 |  |  | 
| 293 |  | t_pass="--" | 
| 294 |  | t_tot="--" | 
| 295 |  | if test -r $dir/summary.txt ; then | 
| 296 |  | grep '^[YN] [YN] [YN] [YN] ' $dir/summary.txt > ./all_tests 2>/dev/null | 
| 297 |  | t_tot=`cat ./all_tests | wc -l | sed -e 's| ||g'` | 
| 298 |  | grep '^Y Y Y Y ' ./all_tests > ./all_ran 2>/dev/null | 
| 299 |  | t_advect=`grep advect_ ./all_ran 2>/dev/null | wc -l | sed -e 's| ||g'` | 
| 300 |  | t_advect=${t_advect/ /} | 
| 301 |  | grep -v advect ./all_ran 2>/dev/null > ./all_ran_noadvect | 
| 302 |  | digits=`cat ./all_ran_noadvect | awk '{print $5}'` | 
| 303 |  | t_sum=0 | 
| 304 |  | for k in $digits ; do | 
| 305 |  | test "x$k" = x--   &&  k=0 | 
| 306 |  | test $k -ge 9  &&  t_sum=$(( $t_sum + 1 )) | 
| 307 |  | done | 
| 308 |  | t_pass=$(( $t_sum + $t_advect )) | 
| 309 |  | fi | 
| 310 |  | rm -f ./all_tests ./all_ran ./all_ran_noadvect | 
| 311 |  | # echo "${dir##*/} : $t_pass out of $t_tot" | 
| 312 |  |  | 
| 313 | tokens=`echo $i | sed -e 's|_| |g'` | tokens=`echo $i | sed -e 's|_| |g'` | 
| 314 | echo "" > ./ms_tmp | echo "" > ./ms_tmp | 
| 315 | for tok in $tokens ; do | for tok in $tokens ; do | 
| 318 | DAY=`cat ./ms_tmp | awk '(length($1)==8 && substr($1,0,3)=="200")'` | DAY=`cat ./ms_tmp | awk '(length($1)==8 && substr($1,0,3)=="200")'` | 
| 319 | rm -f ./ms_tmp | rm -f ./ms_tmp | 
| 320 |  |  | 
| 321 | echo "$OPTFILE$kind $DAY $OPTFILE $kind $i" >> ./mlist | echo "$OPTFILE$kind $DAY $OPTFILE $kind $i $t_pass:$t_tot" >> ./mlist | 
| 322 |  |  | 
| 323 | done | done | 
| 324 |  |  | 
| 332 |  |  | 
| 333 | for key in $keys ; do | for key in $keys ; do | 
| 334 | tline=`grep "^$key " ./mlist | sort -r | head -1` | tline=`grep "^$key " ./mlist | sort -r | head -1` | 
| 335 |  | ratio=`echo $tline | cut -d " " -f 6` | 
| 336 | ldir=`echo $tline | cut -d " " -f 5` | ldir=`echo $tline | cut -d " " -f 5` | 
| 337 | kind=`echo $tline | cut -d " " -f 4` | kind=`echo $tline | cut -d " " -f 4` | 
| 338 | optf=`echo $tline | cut -d " " -f 3` | optf=`echo $tline | cut -d " " -f 3` | 
| 345 | <td> $kind </td> | <td> $kind </td> | 
| 346 | <td> <a href="$res_url$URL">$DAY</a> </td> | <td> <a href="$res_url$URL">$DAY</a> </td> | 
| 347 | <td> <a href="$res_url$URL/summary.txt"> summary.txt </a> </td> | <td> <a href="$res_url$URL/summary.txt"> summary.txt </a> </td> | 
| 348 |  | <td> $ratio </td> | 
| 349 | </tr> | </tr> | 
| 350 | EOF | EOF | 
| 351 | done | done | 
| 355 |  |  | 
| 356 | cat >> $LATEST << EOF | cat >> $LATEST << EOF | 
| 357 | <tr bgcolor="#00cccc"> | <tr bgcolor="#00cccc"> | 
| 358 | <td height="0" colspan="5" align="center" > | <td height="0" colspan="6" align="center" >This table generated on: $the_date</td> | 
| 359 | === This table generated on: $the_date === | </tr> | 
|  | </td> |  | 
|  | </tr> |  | 
| 360 |  |  | 
| 361 | </table> | </table> | 
| 362 |  |  | 
| 363 |  | <p>Examples of the scripts used for these testing runs can be obtained | 
| 364 |  | from <a | 
| 365 |  | href="http://dev.mitgcm.org/cgi-bin/viewcvs.cgi/MITgcm_contrib/test_scripts/"> | 
| 366 |  | the "contrib" area of the MITgcm CVS archive</a>.</p> | 
| 367 |  |  | 
| 368 |  |  | 
| 369 | </body> | </body> | 
| 370 | </html> | </html> | 
| 371 |  |  |