/[MITgcm]/MITgcm/verification/testreport
ViewVC logotype

Diff of /MITgcm/verification/testreport

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.49 by edhill, Tue Nov 23 21:25:24 2004 UTC revision 1.60 by edhill, Sun Dec 12 04:25:54 2004 UTC
# Line 27  usage() Line 27  usage()
27      echo "                             (DEF=\"make output.txt\")"      echo "                             (DEF=\"make output.txt\")"
28      echo "  (-m|-make) STRING        command to use for \"make\""      echo "  (-m|-make) STRING        command to use for \"make\""
29      echo "                             (DEF=\"make\")"      echo "                             (DEF=\"make\")"
30        echo "  (-ptracers|-ptr) STRING  specify which ptracers to test"
31        echo "                             (DEF=\"1 2 3 4 5\")"
32      echo "  (-j) JOBS                use \"make -j JOBS\" for parallel builds"      echo "  (-j) JOBS                use \"make -j JOBS\" for parallel builds"
33      echo "  (-clean)                 *ONLY* run \"make CLEAN\""      echo "  (-clean)                 *ONLY* run \"make CLEAN\""
34      echo "  (-quick|-q)              same as \"-nogenmake -noclean -nodepend\""      echo "  (-quick|-q)              same as \"-nogenmake -noclean -nodepend\""
# Line 35  usage() Line 37  usage()
37      echo "  (-nodepend|-nd)          skip the \"make depend\" stage"      echo "  (-nodepend|-nd)          skip the \"make depend\" stage"
38      echo "  (-deldir|-dd)            on success, delete the output directory"      echo "  (-deldir|-dd)            on success, delete the output directory"
39      echo      echo
40      echo "and where STRING follows a whitespace-delimited format"      echo "and where STRING can be a whitespace-delimited list"
41      echo "such as:"      echo "such as:"
42        echo
43      echo "  -t 'exp0 exp2 exp3' "      echo "  -t 'exp0 exp2 exp3' "
44      echo "  -addr='abc@123.com testing@home.org'"      echo "  -addr='abc@123.com testing@home.org'"
45      echo      echo
46        echo "provided that the expression is properly quoted within the current"
47        echo "shell (note the use of single quotes to protect white space)."
48        echo
49      exit 1      exit 1
50  }  }
51    
# Line 178  check_for_add_mon_output() Line 184  check_for_add_mon_output()
184          return          return
185      fi      fi
186    
187        for ii in $PTRACERS_NUM ; do
188            eval "HAVE_PTR0"$ii"=f"
189        done
190    
191      ptr_add="trcstat_ptracerXX_min trcstat_ptracerXX_max"      ptr_add="trcstat_ptracerXX_min trcstat_ptracerXX_max"
192      ptr_add="$ptr_add trcstat_ptracerXX_mean trcstat_ptracerXX_sd"      ptr_add="$ptr_add trcstat_ptracerXX_mean trcstat_ptracerXX_sd"
193      for ii in 1 2 3 4 5 ; do      for ii in $PTRACERS_NUM ; do
194          for jj in $ptr_add ; do          for jj in $ptr_add ; do
195              name=`eval "echo $jj | sed -e 's|XX|0"$ii"|g'"`              name=`eval "echo $jj | sed -e 's|XX|0"$ii"|g'"`
196              tst=`grep $name $1 | wc -l | awk '{print $1}'`              tst=`grep $name $1 | wc -l | awk '{print $1}'`
# Line 222  testoutput() Line 232  testoutput()
232          testoutput_for_prop $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$?          testoutput_for_prop $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$?
233          testoutput_for_prop $1 "dynstat_vvel_sd" "V s.d." $2 $3; vsd=$?          testoutput_for_prop $1 "dynstat_vvel_sd" "V s.d." $2 $3; vsd=$?
234    
235          for ii in 1 2 3 4 5 ; do          #  This is for PTRACERS
236              testoutput_for_prop $1 "trcstat_ptracer0"$ii"_min"  "p0"$ii"_min"  $2 $3          for ii in $PTRACERS_NUM ; do
237              RETVAL=$? ; eval `echo "p0"$ii"_min="$RETVAL`              eval `echo "p0"$ii"_min=99"`
238              testoutput_for_prop $1 "trcstat_ptracer0"$ii"_max"  "p0"$ii"_max"  $2 $3              eval `echo "p0"$ii"_max=99"`
239              RETVAL=$? ; eval `echo "p0"$ii"_max="$RETVAL`              eval `echo "p0"$ii"_mean=99"`
240              testoutput_for_prop $1 "trcstat_ptracer0"$ii"_mean" "p0"$ii"_mean" $2 $3              eval `echo "p0"$ii"_sd=99"`
241              RETVAL=$? ; eval `echo "p0"$ii"_mean="$RETVAL`              tst=`eval 'echo "$HAVE_PTR0'$ii'"'`
242              testoutput_for_prop $1 "trcstat_ptracer0"$ii"_sd"   "p0"$ii"_sd"   $2 $3              #echo 'tst = '$tst
243              RETVAL=$? ; eval `echo "p0"$ii"_sd="$RETVAL`              if test "x$tst" = xt ; then
244                    a="trcstat_ptracer0"
245                    testoutput_for_prop $1 "$a"$ii"_min"  "p0"$ii"_min"  $2 $3
246                    RETVAL=$? ; eval `echo "p0"$ii"_min="$RETVAL`
247                    testoutput_for_prop $1 "$a"$ii"_max"  "p0"$ii"_max"  $2 $3
248                    RETVAL=$? ; eval `echo "p0"$ii"_max="$RETVAL`
249                    testoutput_for_prop $1 "$a"$ii"_mean" "p0"$ii"_mean" $2 $3
250                    RETVAL=$? ; eval `echo "p0"$ii"_mean="$RETVAL`
251                    testoutput_for_prop $1 "$a"$ii"_sd"   "p0"$ii"_sd"   $2 $3
252                    RETVAL=$? ; eval `echo "p0"$ii"_sd="$RETVAL`
253                fi
254          done          done
255    
256          allargs="$cg2dres $tmin $tmax $tmean $tsd $smin $smax $smean $ssd"          allargs="$cg2dres $tmin $tmax $tmean $tsd $smin $smax $smean $ssd"
# Line 430  linkdata() Line 450  linkdata()
450              if test "x$ADM" = x ; then              if test "x$ADM" = x ; then
451                  files=`( cd ../input ; ls -1 | grep -v CVS )`                  files=`( cd ../input ; ls -1 | grep -v CVS )`
452                  for i in $files ; do                  for i in $files ; do
453                      if test ! -d "../input/"$i ; then                      if test ! -d "../input/"$i -a ! -f $i ; then
454                          ln -sf "../input/"$i $i                          ln -sf "../input/"$i $i
455                      fi                      fi
456                  done                  done
# Line 499  createcodelet() Line 519  createcodelet()
519  #include <math.h>  #include <math.h>
520  int main( int argc, char** argv )  {  int main( int argc, char** argv )  {
521    int linnum,best,lncnt;    int linnum,best,lncnt;
522    double a,b,diff;    double a,b,abave,relerr;
523    best = -16;    best = -22;
524    lncnt = 0;    lncnt = 0;
525    while( 1 & (lncnt+=1) < 999 )  {    while( 1 & (lncnt+=1) < 999 )  {
526      scanf("%d", &linnum);      scanf("%d", &linnum);
527      if (linnum == -1)  break;      if (linnum == -1)  break;
528      scanf("%lf", &a);  scanf("%lf", &b);      scanf("%lf", &a);  scanf("%lf", &b);
529      diff = 0.5*(fabs(a)+fabs(b));      abave = 0.5*(fabs(a)+fabs(b));
530      if (diff > 1.e-12) {      if (abave > 0.0) {
531        diff=fabs(a-b)/diff;        relerr=fabs(a-b)/abave;
532        if (diff > 0.0) {        if (relerr > 0.0) { linnum = (int)log10(relerr); }
533          linnum = (int)log10(diff);        else { linnum = -16 ; }
534          best = (best > linnum) ? best : linnum;        best = (best > linnum) ? best : linnum;
       }  
       else {  
         if (best == -16 && diff != 0)  best = -22;  
       }  
535      }      }
536    }    }
537    if (lncnt == 999) best=-29;    if (lncnt == 999) best=-29;
# Line 523  int main( int argc, char** argv )  { Line 539  int main( int argc, char** argv )  {
539    return 0;    return 0;
540  }  }
541  EOF  EOF
542      cc -o tmp_cmpnum tmp_cmpnum.c -lm      $CC -o tmp_cmpnum tmp_cmpnum.c -lm
543    
544      if [ -x ./tmp_cmpnum ]; then      if [ -x ./tmp_cmpnum ]; then
545          echo "OK"          echo "OK"
546          return 0          return 0
547      else      else
548          echo          echo
549          echo "ERROR: failed to compile comparison code"          echo "ERROR: failed to compile comparison code -- please specify"
550            echo "  a C compiler using the CC environment variable."
551          exit 1          exit 1
552      fi      fi
553  }  }
# Line 619  MPACKDIR="../tools/mpack-1.6" Line 636  MPACKDIR="../tools/mpack-1.6"
636  HAVE_MPACK=  HAVE_MPACK=
637  MPACK="$MPACKDIR/mpack"  MPACK="$MPACKDIR/mpack"
638  COMMAND=  COMMAND=
639  MAKE=make  if test "x$MAKE" = x ; then
640        MAKE=make
641    fi
642    if test "x$CC" = x ; then
643        CC=cc
644    fi
645  JOBS=  JOBS=
646  MPI=f  MPI=f
647  DELDIR=  DELDIR=
# Line 627  DELDIR= Line 649  DELDIR=
649  ADM=  ADM=
650    
651  # Additional monitor types  # Additional monitor types
652  # HAVE_PTR01=  PTRACERS_NUM="1 2 3 4 5"
 # HAVE_PTR02=  
 # HAVE_PTR03=  
 # HAVE_PTR04=  
 # HAVE_PTR05=  
653    
654  printf "parsing options...  "  printf "parsing options...  "
655    
# Line 682  for ac_option ; do Line 700  for ac_option ; do
700          -make=* | --make=*)          -make=* | --make=*)
701              MAKE=$ac_optarg ;;              MAKE=$ac_optarg ;;
702    
703            -ptracers | --ptracers | -ptr | --ptr)
704                ac_prev=PTRACERS_NUM ;;
705            -ptracers=* | --ptracers=* | -ptr=* | --ptr=*)
706                PTRACERS_NUM=$ac_optarg ;;
707    
708          -j) ac_prev=JOBS ;;          -j) ac_prev=JOBS ;;
709          -j=*) JOBS=$ac_optarg ;;          -j=*) JOBS=$ac_optarg ;;
710    
# Line 813  if test "x$ADM" = x ; then Line 836  if test "x$ADM" = x ; then
836      line_2="E p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  ."      line_2="E p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  ."
837      line_3="N n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d"      line_3="N n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d"
838      line_4="2 d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  ."      line_4="2 d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  ."
839      for ii in 1 2 3 4 5 ; do      for ii in $PTRACERS_NUM ; do
840          #  tst=`eval 'echo $HAVE_PTR0'$ii`          #  tst=`eval 'echo $HAVE_PTR0'$ii`
841          #  if test "x$tst" = xt ; then          #  if test "x$tst" = xt ; then
842          line_0="$line_0  --PTR 0"$ii"--"          line_0="$line_0  --PTR 0"$ii"--"
# Line 867  for dir in $TESTDIRS ; do Line 890  for dir in $TESTDIRS ; do
890          echo "can't read \"$fout\" -- skipping $dir"          echo "can't read \"$fout\" -- skipping $dir"
891          continue          continue
892      fi      fi
893        if test "x$ADM" = x ; then
894            check_for_add_mon_output  $fout
895        fi
896    
897      # Check for additional types of monitor output      # Check for additional types of monitor output
     check_for_add_mon_output  $fout  
898    
899      builddir="input"      builddir="input"
900      rundir="input"      rundir="input"
# Line 945  for dir in $TESTDIRS ; do Line 970  for dir in $TESTDIRS ; do
970          echo "DATE='$DATE'" >> $CDIR"/summary.txt"          echo "DATE='$DATE'" >> $CDIR"/summary.txt"
971          echo "tdir='$dir'" >> $CDIR"/summary.txt"          echo "tdir='$dir'" >> $CDIR"/summary.txt"
972    
         OLD_COMMAND=$COMMAND  
         COMMAND="./mitgcmuv > output.txt"  
973          for ex in $extra_runs ; do          for ex in $extra_runs ; do
974              test -e "$dir/tr_run.$ex" && rm -rf "$dir/tr_run.$ex"              test -e "$dir/tr_run.$ex" && rm -rf "$dir/tr_run.$ex"
975              mkdir "$dir/tr_run.$ex"              mkdir "$dir/tr_run.$ex"
# Line 979  for dir in $TESTDIRS ; do Line 1002  for dir in $TESTDIRS ; do
1002              echo "DATE='$DATE'" >> $CDIR"/summary.txt"              echo "DATE='$DATE'" >> $CDIR"/summary.txt"
1003              echo "tdir='$dir'" >> $CDIR"/summary.txt"              echo "tdir='$dir'" >> $CDIR"/summary.txt"
1004          done          done
         COMMAND=$OLD_COMMAND  
1005      else      else
1006          fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}`          fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}`
1007          fres=$fres"$results   $dir"          fres=$fres"$results   $dir"

Legend:
Removed from v.1.49  
changed lines
  Added in v.1.60

  ViewVC Help
Powered by ViewVC 1.1.22