--- MITgcm/verification/testreport 2005/08/16 17:50:31 1.72 +++ MITgcm/verification/testreport 2006/06/18 21:20:51 1.82 @@ -1,6 +1,6 @@ #! /usr/bin/env bash # -# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/verification/testreport,v 1.72 2005/08/16 17:50:31 edhill Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/verification/testreport,v 1.82 2006/06/18 21:20:51 jmc Exp $ # $Name: $ # @@ -181,10 +181,10 @@ testoutput_ad() { - grep $3 $1/results_ad/output.txt_adm | awk '{print NR " " $5}' > t05.txt - grep $3 $1/$2/output.txt_adm | awk '{print NR " " $5}' > t15.txt - grep $3 $1/results_ad/output.txt_adm | awk '{print NR " " $6}' > t06.txt - grep $3 $1/$2/output.txt_adm | awk '{print NR " " $6}' > t16.txt + grep $3 $1/results_ad/output_adm.txt | awk '{print NR " " $5}' > t05.txt + grep $3 $1/$2/output_adm.txt | awk '{print NR " " $5}' > t15.txt + grep $3 $1/results_ad/output_adm.txt | awk '{print NR " " $6}' > t06.txt + grep $3 $1/$2/output_adm.txt | awk '{print NR " " $6}' > t16.txt join t05.txt t15.txt > t5.txt join t06.txt t16.txt > t6.txt echo "-1" >> t5.txt @@ -304,7 +304,6 @@ command="$command --mods=../code" else command="$command --mods=../code_ad" - command="$command -adof=../../../tools/adjoint_options/adjoint_staf" fi if test "x$OPTFILE" != xNONE ; then command="$command --optfile=$OPTFILE" @@ -490,18 +489,22 @@ fi done else - files=`( cd ../input ; ls -1 *.bin | grep -v CVS )` - for i in $files ; do - if test ! -d "../input/"$i ; then - ln -sf "../input/"$i $i - fi - done files=`( cd ../input_ad ; ls -1 | grep -v CVS )` for i in $files ; do if test ! -d "../input_ad/"$i ; then ln -sf "../input_ad/"$i $i fi done + if test -d "../input" ; then + files=`( cd ../input ; ls -1 | grep -v CVS )` + for i in $files ; do + if test ! -d "../input/"$i ; then + if test ! -r $i ; then + ln -sf "../input/"$i $i + fi + fi + done + fi fi ) fi @@ -515,14 +518,19 @@ # (where "$COMMAND" is relative to "directory") ( cd $1 - printf 'runmodel ... ' 1>&2 + printf 'runmodel in %s ...' $1 1>&2 # make output.txt echo rm -f run.log + if test $OUTPUTFILE -ot $EXECUTABLE ; then + ( eval $COMMAND ) > run.log 2>&1 + RETVAL=$? + else + echo " $OUTPUTFILE is up to date " > run.log 2>&1 + RETVAL=0 + fi # echo "COMMAND='$COMMAND'" # echo "pwd='"`pwd`"'" - ( eval $COMMAND ) > run.log 2>&1 - RETVAL=$? if test "x$RETVAL" = x0 ; then tail run.log echo successful 1>&2 @@ -530,7 +538,7 @@ # if test "x$ADM" = x ; then # cp output.txt $CDIR"/output.txt" # else - # cp output.txt_adm $CDIR"/output.txt_adm" + # cp output_adm.txt $CDIR"/output_adm.txt" # fi if test -s STDERR.0000 ; then cp STDERR.0000 $CDIR"/STDERR.0000" ; fi return 0 @@ -631,12 +639,12 @@ scandirs() { - if [ $# -eq 0 ]; then - for arg in * ; do - test -d $arg/input && echo $arg - done + if [ $# -eq 1 ]; then + for arg in * ; do + test -d $arg/$1 && echo $arg + done else - echo $* + echo $* fi } @@ -799,22 +807,35 @@ fi if test "x$TESTDIRS" = x ; then - TESTDIRS=`scandirs` + if test "x$ADM" = xt ; then + TESTDIRS=`scandirs results_ad` + else + TESTDIRS=`scandirs results` + fi fi if test "x$OPTFILE" = xNONE -a "x$MITGCM_OF" != x ; then OPTFILE=$MITGCM_OF fi +if test "x$ADM" = xt ; then + EXECUTABLE="mitgcmuv_ad" + OUTPUTFILE="output_adm.txt" +else + EXECUTABLE="mitgcmuv" + OUTPUTFILE="output.txt" +fi + if test "x$ADM" = xt -a "x$COMMAND" = x ; then - COMMAND="./mitgcmuv_ad > output.txt_adm 2>&1" + COMMAND="./$EXECUTABLE > $OUTPUTFILE" fi if test "x$COMMAND" = x ; then - COMMAND="$MAKE output.txt" + COMMAND="./$EXECUTABLE > $OUTPUTFILE" fi -echo "OK" +#echo "OK" +echo "OK (COMMAND= $COMMAND )" # create the FORTRAN comparison code createcodelet @@ -936,7 +957,7 @@ if test "x$ADM" = x ; then fout=$dir"/results/output.txt" else - fout=$dir"/results_ad/output.txt_adm" + fout=$dir"/results_ad/output_adm.txt" fi if test ! -r $fout ; then echo "can't read \"$fout\" -- skipping $dir" @@ -991,7 +1012,7 @@ echo "Experiment: $dir" echo unset genmake makedepend make run - results='-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --' + results='-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --' # Create an output dir for each OPTFILE/tdir combination rel_CDIR=$DRESULTS"/"$dir @@ -1023,6 +1044,12 @@ echo "tdir='$dir'" >> $CDIR"/summary.txt" for ex in $extra_runs ; do + unset run + results='-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --' + # Create an output dir for each OPTFILE/tdir.ex combination + rel_CDIR=$DRESULTS"/"$dir"."$ex + mkdir $rel_CDIR + CDIR=`pwd`"/$rel_CDIR" test ! -e "$dir/tr_run.$ex" && mkdir "$dir/tr_run.$ex" for ldir in input.$ex input ; do ( @@ -1042,19 +1069,9 @@ done ldir=build ( - cd "$dir/$ldir" > /dev/null 2>&1 - ls -1 Makefile *.[fFhco] mitgcmuv 2>/dev/null \ - | sed -e 's|^CVS$||g' | sed -e 's|^output.txt$||g' - ) > tr_exrun_links - ( - cd "$dir/tr_run.$ex" - cat ../../tr_exrun_links | while read i ; do - if test ! "x$i" = x ; then - test ! -r $i && ln -s "../"$ldir"/"$i $i - fi - done + cd $dir/tr_run.$ex + test ! -e mitgcmuv && ln -s "../"$ldir"/"mitgcmuv . ) - test -e tr_exrun_links && rm -f tr_exrun_links runmodel $dir/tr_run.$ex && run=Y \ && results=`testoutput $dir tr_run.$ex "."$ex` fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}` @@ -1066,7 +1083,7 @@ echo "MACH='$MACH'" >> $CDIR"/summary.txt" echo "UNAMEA='$UNAMEA'" >> $CDIR"/summary.txt" echo "DATE='$DATE'" >> $CDIR"/summary.txt" - echo "tdir='$dir'" >> $CDIR"/summary.txt" + echo "tdir='$dir.$ex'" >> $CDIR"/summary.txt" done else fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}` @@ -1078,6 +1095,8 @@ echo "UNAMEA='$UNAMEA'" >> $CDIR"/summary.txt" echo "DATE='$DATE'" >> $CDIR"/summary.txt" echo "tdir='$dir'" >> $CDIR"/summary.txt" + grep -A3 'Seconds in section "ALL' $dir/$rundir/$OUTPUTFILE \ + >> $CDIR"/summary.txt" fi postclean $dir/$builddir