/[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.134 by jmc, Sun Jan 17 21:52:01 2010 UTC revision 1.135 by jmc, Thu Mar 4 21:26:27 2010 UTC
# Line 16  usage() Line 16  usage()
16      echo "  (-ieee|-noieee)          if possible, use IEEE compiler flags"      echo "  (-ieee|-noieee)          if possible, use IEEE compiler flags"
17      echo "                             (DEF=\"-ieee\")"      echo "                             (DEF=\"-ieee\")"
18      echo "  (-gsl)                   compile with \"-gsl\" flag"      echo "  (-gsl)                   compile with \"-gsl\" flag"
19        echo "  (-ur4|-use_r4)           if allowed, use real*4 type for '_RS' variable"
20      echo "  (-of=|-optfile=)STRING   list of optfiles to use"      echo "  (-of=|-optfile=)STRING   list of optfiles to use"
21      echo "  (-a|-addr) STRING        list of email recipients"      echo "  (-a|-addr) STRING        list of email recipients"
22      echo "                             (DEF=\"\" no email is sent)"      echo "                             (DEF=\"\" no email is sent)"
# Line 105  testoutput_var() Line 106  testoutput_var()
106  {  {
107      # testoutput_var dir s1 label subdir reference_output      # testoutput_var dir s1 label subdir reference_output
108      #      #
109      #  compares 1 variable output selected from file $dir/$subdir/$OUTPUTFILE      #  compares 1 variable output selected from file $dir/$subdir/$OUTPUTFILE
110      #     with same output from reference file $dir/results/$reference_output      #     with same output from reference file $dir/results/$reference_output
111      #  using search strings s1 and text label      #  using search strings s1 and text label
112    
# Line 177  testoutput_var() Line 178  testoutput_var()
178          fi          fi
179      fi      fi
180      rm -f tmp1.txt tmp2.txt tmp3.txt tmp4.txt      rm -f tmp1.txt tmp2.txt tmp3.txt tmp4.txt
181        
182      return $digits_of_similarity      return $digits_of_similarity
183  }  }
184    
# Line 292  testoutput_run() Line 293  testoutput_run()
293          done          done
294    
295          nbVar=`echo $listVar | awk '{print NF}'`          nbVar=`echo $listVar | awk '{print NF}'`
296          if [ $nbVar -lt $LEN_CHECK_LIST ] ; then          if [ $nbVar -lt $LEN_CHECK_LIST ] ; then
297          #-- fill line (up to standard length) with dot:          #-- fill line (up to standard length) with dot:
298            adNul=`expr $LEN_CHECK_LIST - $nbVar | awk '{for(i=1;i<=$1;i++){print "."}}'`            adNul=`expr $LEN_CHECK_LIST - $nbVar | awk '{for(i=1;i<=$1;i++){print "."}}'`
299            echo $allargs $adNul            echo $allargs $adNul
300          else          else
301            echo $allargs            echo $allargs
302          fi          fi
303  # <-- same processing for adjoint & forward test  # <-- same processing for adjoint & forward test
304  }  }
305    
# Line 339  genmakemodel() Line 340  genmakemodel()
340              #- run multi-threaded using OpenMP:              #- run multi-threaded using OpenMP:
341                  command="$command -omp"                  command="$command -omp"
342              fi              fi
343                if test "x$USE_R4" = xt ; then
344                    command="$command -use_r4"
345                fi
346              if test "x$TS" = xt ; then              if test "x$TS" = xt ; then
347                  command="$command -ts"                  command="$command -ts"
348              fi              fi
349              if test "x$PAPIS" = xt ; then              if test "x$PAPIS" = xt ; then
350                  command="$command -papis"                  command="$command -papis"
351              else              else
352              if test "x$PCLS" = xt ; then              if test "x$PCLS" = xt ; then
353                  command="$command -pcls"                  command="$command -pcls"
354              fi              fi
# Line 483  symlink_mpifiles() Line 487  symlink_mpifiles()
487      code_dir=$2      code_dir=$2
488      BUILD_DIR=$dir/$3      BUILD_DIR=$dir/$3
489      CODE_DIR=$dir/$code_dir      CODE_DIR=$dir/$code_dir
490        
491      # These are files that should replace their counter-part when using -mpi      # These are files that should replace their counter-part when using -mpi
492      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi" -print)`      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi" -print)`
493    
# Line 518  symlink_mpifiles() Line 522  symlink_mpifiles()
522              fi              fi
523          done          done
524      fi      fi
525        
526  }  }
527    
528  linkdata()  linkdata()
# Line 537  linkdata() Line 541  linkdata()
541                  if test "x$MPI" = "xt" ; then                  if test "x$MPI" = "xt" ; then
542                  # mpi test: remove symbolic link & link _mpi sfx file                  # mpi test: remove symbolic link & link _mpi sfx file
543                      if test -h $yy ; then rm -f $yy ; fi                      if test -h $yy ; then rm -f $yy ; fi
544                      if test ! -r $yy ; then                      if test ! -r $yy ; then
545                          ln -sf "../"$1"/"$xx $yy ;                          ln -sf "../"$1"/"$xx $yy ;
546                          printf "$xx " 1>&2                          printf "$xx " 1>&2
547                      fi                      fi
# Line 552  linkdata() Line 556  linkdata()
556                  if test "x$MULTI_THREAD" = "xt" ; then                  if test "x$MULTI_THREAD" = "xt" ; then
557                  # multi-threaded test: remove symbolic link & link eedata.mth                  # multi-threaded test: remove symbolic link & link eedata.mth
558                      if test -h eedata ; then rm -f eedata ; fi                      if test -h eedata ; then rm -f eedata ; fi
559                      if test ! -r eedata ; then                      if test ! -r eedata ; then
560                          ln -sf "../"$1"/eedata.mth" eedata ;                          ln -sf "../"$1"/eedata.mth" eedata ;
561                          printf 'eedata.mth ' 1>&2                          printf 'eedata.mth ' 1>&2
562                      fi                      fi
# Line 589  runmodel() Line 593  runmodel()
593  {  {
594      # runmodel directory      # runmodel directory
595      #      #
596      #  runs "$COMMAND in "directory"      #  runs "$COMMAND in "directory"
597      #  (where "$COMMAND" is relative to "directory")      #  (where "$COMMAND" is relative to "directory")
598      (      (
599          cd $1          cd $1
# Line 625  runmodel() Line 629  runmodel()
629                  if test -f $RUNLOG ; then                  if test -f $RUNLOG ; then
630                      if test -f run.log_tmp ; then cat run.log_tmp >> $RUNLOG ; fi                      if test -f run.log_tmp ; then cat run.log_tmp >> $RUNLOG ; fi
631                      echo "---------->> $OUTPUTFILE is up to date " >> $RUNLOG 2>&1                      echo "---------->> $OUTPUTFILE is up to date " >> $RUNLOG 2>&1
632                  else                  else
633                      touch $RUNLOG                      touch $RUNLOG
634                      if test -f run.log_tmp ; then cat run.log_tmp >> $RUNLOG ; fi                      if test -f run.log_tmp ; then cat run.log_tmp >> $RUNLOG ; fi
635                      echo "---------->> $OUTPUTFILE is up to date " >> $RUNLOG 2>&1                      echo "---------->> $OUTPUTFILE is up to date " >> $RUNLOG 2>&1
# Line 701  EOF Line 705  EOF
705          return 0          return 0
706      else      else
707          echo          echo
708          echo "ERROR: failed to compile comparison code -- please specify"          echo "ERROR: failed to compile comparison code -- please specify"
709          echo "  a C compiler using the CC environment variable."          echo "  a C compiler using the CC environment variable."
710          exit 1          exit 1
711      fi      fi
# Line 720  formatresults() Line 724  formatresults()
724      printf '%3s' $listPrt      printf '%3s' $listPrt
725  #   line below does not work on hp-ux_ia64 : do those substitutions later on  #   line below does not work on hp-ux_ia64 : do those substitutions later on
726  #   printf '%3s' $listPrt | sed 's/ 99/ --/g' | sed 's/  > />/' | sed 's/  < /</'  #   printf '%3s' $listPrt | sed 's/ 99/ --/g' | sed 's/  > />/' | sed 's/  < /</'
727        
728      if [ $xx = '..' ]; then      if [ $xx = '..' ]; then
729          printf ' N/O '          printf ' N/O '
730      elif [ $xx = '--' ]; then      elif [ $xx = '--' ]; then
# Line 736  formatresults() Line 740  formatresults()
740      fi      fi
741      printf '  %s' $nm      printf '  %s' $nm
742      printf '\n'      printf '\n'
743        
744  }  }
745    
746  scandirs()  scandirs()
# Line 822  MPI=f Line 826  MPI=f
826  MULTI_THREAD=f  MULTI_THREAD=f
827  OUTDIR=  OUTDIR=
828  DELDIR=  DELDIR=
829    USE_R4=
830    
831  ADM=  ADM=
832  OADM=  OADM=
# Line 844  for ac_option ; do Line 849  for ac_option ; do
849      fi      fi
850    
851      ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`      ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
852        
853      case $ac_option in      case $ac_option in
854                    
855          -help | --help | -h | --h)          -help | --help | -h | --h)
# Line 940  for ac_option ; do Line 945  for ac_option ; do
945    
946          -deldir | -dd) DELDIR=t ;;          -deldir | -dd) DELDIR=t ;;
947    
948          -ts) TS=t;;          -ur4|-use_r4) USE_R4=t ;;
949    
950            -ts) TS=t;;
951          -papis) PAPIS=t;;          -papis) PAPIS=t;;
   
952          -pcls) PCL=t;;          -pcls) PCL=t;;
953    
954          -*)          -*)
955              echo "Error: unrecognized option: "$ac_option              echo "Error: unrecognized option: "$ac_option
956              usage              usage
957              ;;              ;;
958            
959          *)          *)
960              echo "Error: unrecognized argument: "$ac_option              echo "Error: unrecognized argument: "$ac_option
961              usage              usage
962              ;;              ;;
963            
964       esac       esac
965        
966  done  done
967    
968  if test "x$QUICK" = xt ; then  if test "x$QUICK" = xt ; then
# Line 1000  else Line 1005  else
1005                   LIST=${LIST}" "`ls | grep 'tutorial_'` ;;                   LIST=${LIST}" "`ls | grep 'tutorial_'` ;;
1006          *)       LIST=${LIST}" "$xx ;;          *)       LIST=${LIST}" "$xx ;;
1007        esac        esac
1008      done      done
1009  fi  fi
1010  #echo 'LIST='${LIST}'<'  #echo 'LIST='${LIST}'<'
1011  #- skip dirs, remove duplicate and non-directory:  #- skip dirs, remove duplicate and non-directory:
# Line 1021  do Line 1026  do
1026          else count=1 ; echo "" ;  echo -n " skip: \"$xx\""          else count=1 ; echo "" ;  echo -n " skip: \"$xx\""
1027          fi          fi
1028      fi      fi
1029  done  done
1030  if test $count = 1 ; then echo "" ; echo -n " ... " ; fi  if test $count = 1 ; then echo "" ; echo -n " ... " ; fi
1031  #echo 'TESTDIRS='${TESTDIRS}'<'  #echo 'TESTDIRS='${TESTDIRS}'<'
1032    
# Line 1133  fi Line 1138  fi
1138  echo  echo
1139  echo >> $SUMMARY  echo >> $SUMMARY
1140  if test "x$ADM" = x -a "x$OADM" = x; then  if test "x$ADM" = x -a "x$OADM" = x; then
1141      if [ $MATCH_CRIT -lt 10 ] ;      if [ $MATCH_CRIT -lt 10 ] ;
1142      then line_0="default  "$MATCH_CRIT ;      then line_0="default  "$MATCH_CRIT ;
1143      else line_0="default "$MATCH_CRIT ; fi      else line_0="default "$MATCH_CRIT ; fi
1144         line_0="$line_0  ----T-----  ----S-----  ----U-----  ----V-----"         line_0="$line_0  ----T-----  ----S-----  ----U-----  ----V-----"
1145  #   line_0="            ----T-----  ----S-----  ----U-----  ----V-----"  #   line_0="            ----T-----  ----S-----  ----U-----  ----V-----"
# Line 1158  if test "x$ADM" = x -a "x$OADM" = x; the Line 1163  if test "x$ADM" = x -a "x$OADM" = x; the
1163  else  else
1164      echo "ADJOINT=true" >> $SUMMARY      echo "ADJOINT=true" >> $SUMMARY
1165      echo >> $SUMMARY      echo >> $SUMMARY
1166      if [ $MATCH_CRIT -lt 10 ] ;      if [ $MATCH_CRIT -lt 10 ] ;
1167      then line_0="default     "$MATCH_CRIT ;      then line_0="default     "$MATCH_CRIT ;
1168      else line_0="default    "$MATCH_CRIT ; fi      else line_0="default    "$MATCH_CRIT ; fi
1169      echo "$line_0" | tee -a $SUMMARY      echo "$line_0" | tee -a $SUMMARY
1170      cat << EOF | tee -a $SUMMARY      cat << EOF | tee -a $SUMMARY
# Line 1173  fi Line 1178  fi
1178    
1179  #  ...and each test directory...  #  ...and each test directory...
1180  for dir in $TESTDIRS ; do  for dir in $TESTDIRS ; do
1181        
1182      # set builddir & rundir:      # set builddir & rundir:
1183      builddir="build"      builddir="build"
1184      if test ! -d $dir/$builddir ; then mkdir $dir/$builddir ; fi      if test ! -d $dir/$builddir ; then mkdir $dir/$builddir ; fi
# Line 1202  for dir in $TESTDIRS ; do Line 1207  for dir in $TESTDIRS ; do
1207          continue          continue
1208      fi      fi
1209    
1210      #  Verify that the testdir exists and contains previous      #  Verify that the testdir exists and contains previous
1211      #  results in the correct location--or skip this directory!      #  results in the correct location--or skip this directory!
1212      fout=$dir"/results/"$ref_outp      fout=$dir"/results/"$ref_outp
1213      if test ! -r $fout ; then      if test ! -r $fout ; then
# Line 1239  for dir in $TESTDIRS ; do Line 1244  for dir in $TESTDIRS ; do
1244          refExOut=`echo $ref_outp | sed "s/\./.${name}./"`          refExOut=`echo $ref_outp | sed "s/\./.${name}./"`
1245          outf="$dir/results/$refExOut"          outf="$dir/results/$refExOut"
1246          if test -f $outf -a -r $outf ; then          if test -f $outf -a -r $outf ; then
1247            if test "x$MULTI_THREAD" = "xt" ; then            if test "x$MULTI_THREAD" = "xt" ; then
1248              if test -r $dir"/"$exd"/eedata.mth" ; then              if test -r $dir"/"$exd"/eedata.mth" ; then
1249                if test "x$MPI" = "xt" ; then                if test "x$MPI" = "xt" ; then
1250                  retv=`check_eedata $CODE_DIR"/SIZE.h_mpi" $dir"/"$exd"/eedata.mth"`                  retv=`check_eedata $CODE_DIR"/SIZE.h_mpi" $dir"/"$exd"/eedata.mth"`
# Line 1261  for dir in $TESTDIRS ; do Line 1266  for dir in $TESTDIRS ; do
1266    
1267      echo "-------------------------------------------------------------------------------"      echo "-------------------------------------------------------------------------------"
1268      echo      echo
1269      if test "x$extra_runs" = "x" ; then      if test "x$extra_runs" = "x" ; then
1270         echo "Experiment:  $dir"         echo "Experiment:  $dir"
1271      else      else
1272         echo "Experiment:  $dir ; extra_runs=$extra_runs"         echo "Experiment:  $dir ; extra_runs=$extra_runs"
# Line 1274  for dir in $TESTDIRS ; do Line 1279  for dir in $TESTDIRS ; do
1279      rel_CDIR=$DRESULTS"/"$dir      rel_CDIR=$DRESULTS"/"$dir
1280      mkdir $rel_CDIR      mkdir $rel_CDIR
1281      CDIR=`pwd`"/$rel_CDIR"      CDIR=`pwd`"/$rel_CDIR"
1282        
1283      if test "x$NORUN" = xt ; then      if test "x$NORUN" = xt ; then
1284              run=N              run=N
1285          genmakemodel $dir/$builddir && genmake=Y \          genmakemodel $dir/$builddir && genmake=Y \
# Line 1294  for dir in $TESTDIRS ; do Line 1299  for dir in $TESTDIRS ; do
1299              && runmodel $dir/$rundir && run=Y \              && runmodel $dir/$rundir && run=Y \
1300              && results=`testoutput_run $dir $rundir $ref_outp`              && results=`testoutput_run $dir $rundir $ref_outp`
1301      fi      fi
1302        
1303      #echo "results='$results'"      #echo "results='$results'"
1304      echo      echo
1305          fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results`          fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results`
# Line 1351  for dir in $TESTDIRS ; do Line 1356  for dir in $TESTDIRS ; do
1356          makeclean $dir/$builddir \          makeclean $dir/$builddir \
1357              && run_clean $dir/$rundir              && run_clean $dir/$rundir
1358      fi      fi
1359        
1360      echo "-------------------------------------------------------------------------------"      echo "-------------------------------------------------------------------------------"
1361        
1362  done  done
1363    
1364  printf "Start time:  " >> $SUMMARY  printf "Start time:  " >> $SUMMARY

Legend:
Removed from v.1.134  
changed lines
  Added in v.1.135

  ViewVC Help
Powered by ViewVC 1.1.22