/[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.39 by edhill, Mon Mar 29 03:33:52 2004 UTC revision 1.70 by jmc, Thu Jul 28 21:12:15 2005 UTC
# Line 13  usage() Line 13  usage()
13      echo "  (-help|-h)               print usage"      echo "  (-help|-h)               print usage"
14      echo "  (-mpi)                   use MPI input files"      echo "  (-mpi)                   use MPI input files"
15      echo "  (-ieee|-noieee)          if possible, use IEEE compiler flags"      echo "  (-ieee|-noieee)          if possible, use IEEE compiler flags"
16      echo "                             (DEF=\"noieee\")"      echo "                             (DEF=\"-ieee\")"
17      echo "  (-optfile=|-of=)STRING   list of optfiles to use"      echo "  (-optfile=|-of=)STRING   list of optfiles to use"
18      echo "  (-a|-addr) STRING        list of email recipients"      echo "  (-a|-addr) STRING        list of email recipients"
19      echo "                             (DEF=\"edhill@mitgcm.org\")"      echo "                             (DEF=\"edhill@mitgcm.org\")"
# 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 "  (-odir) STRING           used to build output directory name"
31        echo "                             (DEF=\"hostname\")"
32        echo "  (-ptracers|-ptr) STRING  specify which ptracers to test"
33        echo "                             (DEF=\"1 2 3 4 5\")"
34        echo "  (-j) JOBS                use \"make -j JOBS\" for parallel builds"
35      echo "  (-clean)                 *ONLY* run \"make CLEAN\""      echo "  (-clean)                 *ONLY* run \"make CLEAN\""
36      echo "  (-quick|-q)              same as \"-nogenmake -noclean -nodepend\""      echo "  (-quick|-q)              same as \"-nogenmake -noclean -nodepend\""
37      echo "  (-nogenmake|-ng)         skip the genmake stage"      echo "  (-nogenmake|-ng)         skip the genmake stage"
38      echo "  (-noclean|-nc)           skip the \"make clean\" stage"      echo "  (-noclean|-nc)           skip the \"make clean\" stage"
39      echo "  (-nodepend|-nd)          skip the \"make depend\" stage"      echo "  (-nodepend|-nd)          skip the \"make depend\" stage"
40        echo "  (-deldir|-dd)            on success, delete the output directory"
41      echo      echo
42      echo "and where STRING follows a whitespace-delimited format"      echo "and where STRING can be a whitespace-delimited list"
43      echo "such as:"      echo "such as:"
44        echo
45      echo "  -t 'exp0 exp2 exp3' "      echo "  -t 'exp0 exp2 exp3' "
46      echo "  -addr='abc@123.com testing@home.org'"      echo "  -addr='abc@123.com testing@home.org'"
47      echo      echo
48        echo "provided that the expression is properly quoted within the current"
49        echo "shell (note the use of single quotes to protect white space)."
50        echo
51      exit 1      exit 1
52  }  }
53    
# Line 87  testoutput_for_prop() Line 97  testoutput_for_prop()
97      fi      fi
98      if [ -r $1/$4/output.txt ]; then      if [ -r $1/$4/output.txt ]; then
99          grep "$2" $1/$4/output.txt | sed 's/.*=//' | cat -n > tmp1.txt          grep "$2" $1/$4/output.txt | sed 's/.*=//' | cat -n > tmp1.txt
100          lncnt=`wc -l tmp1.txt | awk '{print $1}' `          lncntA=`wc -l tmp1.txt | awk '{print $1}' `
101          if [ $lncnt -lt 3 ]; then          if [ $lncntA -lt 3 ]; then
102              if [ $verbose -gt 0 ]; then              if [ $verbose -gt 0 ]; then
103                  echo Not enough lines of output when searching for "$2" 1>&2                  echo Not enough lines of output when searching for "$2" 1>&2
104              fi              fi
# Line 102  testoutput_for_prop() Line 112  testoutput_for_prop()
112          echo testoutput_for_prop: grep "$2" $1/results/output.txt$5 1>&2          echo testoutput_for_prop: grep "$2" $1/results/output.txt$5 1>&2
113      fi      fi
114      grep "$2" $1/results/output.txt$5 | sed 's/.*=//' | cat -n > tmp2.txt      grep "$2" $1/results/output.txt$5 | sed 's/.*=//' | cat -n > tmp2.txt
115      lncnt=`wc -l tmp2.txt | awk '{print $1}' `      lncntB=`wc -l tmp2.txt | awk '{print $1}' `
116      if [ $lncnt -lt 3 ]; then      if [ $lncntB -lt 3 ]; then
117          if [ $verbose -gt 0 ]; then          if [ $verbose -gt 0 ]; then
118              echo Not enough lines of output when searching for "$2" 1>&2              echo Not enough lines of output when searching for "$2" 1>&2
119          fi          fi
120          return 99          return 99
121      fi      fi
122        if [ $lncntA -ne $lncntB ]; then
123            if [ $verbose -gt 0 ]; then
124                echo Not same Nb of lines when searching for "$2" ":" $lncntA $lncntB 1>&2
125            fi
126            return 99
127        fi
128      if [ $debug -gt 0 ]; then      if [ $debug -gt 0 ]; then
129          echo testoutput_for_prop: join tmp1.txt tmp2.txt 1>&2          echo testoutput_for_prop: join tmp1.txt tmp2.txt 1>&2
130      fi      fi
# Line 169  testoutput_ad() Line 185  testoutput_ad()
185      rm -f t[01][56].txt t[56].txt      rm -f t[01][56].txt t[56].txt
186  }  }
187    
188    check_for_add_mon_output()
189    {
190        # Check for additional types of monitor output
191        if test "x$1" = x ; then
192            return
193        fi
194    
195        for ii in $PTRACERS_NUM ; do
196            eval "HAVE_PTR0"$ii"=f"
197        done
198    
199        ptr_add="trcstat_ptracerXX_min trcstat_ptracerXX_max"
200        ptr_add="$ptr_add trcstat_ptracerXX_mean trcstat_ptracerXX_sd"
201        for ii in $PTRACERS_NUM ; do
202            for jj in $ptr_add ; do
203                name=`eval "echo $jj | sed -e 's|XX|0"$ii"|g'"`
204                tst=`grep $name $1 | wc -l | awk '{print $1}'`
205                if test ! "x$tst" = x0 ; then
206                    eval "HAVE_PTR0"$ii"=t"
207                fi
208            done
209            #  eval 'echo "HAVE_PTR0'$ii' = $HAVE_PTR0'$ii'"'
210        done
211    }
212    
213  testoutput()  testoutput()
214  {  {
215      # testoutput directory subdir extension      # testoutput directory subdir extension
# Line 198  testoutput() Line 239  testoutput()
239          testoutput_for_prop $1 "dynstat_vvel_max" "V maximum" $2 $3; vmax=$?          testoutput_for_prop $1 "dynstat_vvel_max" "V maximum" $2 $3; vmax=$?
240          testoutput_for_prop $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$?          testoutput_for_prop $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$?
241          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=$?
242          dashnum $cg2dres $tmin $tmax $tmean $tsd $smin $smax $smean $ssd \  
243              $umin $umax $umean $usd $vmin $vmax $vmean $vsd          #  This is for PTRACERS
244            for ii in $PTRACERS_NUM ; do
245                eval `echo "p0"$ii"_min=99"`
246                eval `echo "p0"$ii"_max=99"`
247                eval `echo "p0"$ii"_mean=99"`
248                eval `echo "p0"$ii"_sd=99"`
249                tst=`eval 'echo "$HAVE_PTR0'$ii'"'`
250                #echo 'tst = '$tst
251                if test "x$tst" = xt ; then
252                    a="trcstat_ptracer0"
253                    testoutput_for_prop $1 "$a"$ii"_min"  "p0"$ii"_min"  $2 $3
254                    RETVAL=$? ; eval `echo "p0"$ii"_min="$RETVAL`
255                    testoutput_for_prop $1 "$a"$ii"_max"  "p0"$ii"_max"  $2 $3
256                    RETVAL=$? ; eval `echo "p0"$ii"_max="$RETVAL`
257                    testoutput_for_prop $1 "$a"$ii"_mean" "p0"$ii"_mean" $2 $3
258                    RETVAL=$? ; eval `echo "p0"$ii"_mean="$RETVAL`
259                    testoutput_for_prop $1 "$a"$ii"_sd"   "p0"$ii"_sd"   $2 $3
260                    RETVAL=$? ; eval `echo "p0"$ii"_sd="$RETVAL`
261                fi
262            done
263    
264            allargs="$cg2dres $tmin $tmax $tmean $tsd $smin $smax $smean $ssd"
265            allargs="$allargs $umin $umax $umean $usd $vmin $vmax $vmean $vsd"
266            allargs="$allargs $p01_min $p01_max $p01_mean $p01_sd"
267            allargs="$allargs $p02_min $p02_max $p02_mean $p02_sd"
268            allargs="$allargs $p03_min $p03_max $p03_mean $p03_sd"
269            allargs="$allargs $p04_min $p04_max $p04_mean $p04_sd"
270            allargs="$allargs $p05_min $p05_max $p05_mean $p05_sd"
271    
272            eval "dashnum $allargs"
273    
274      else      else
275          testoutput_ad $1 $2 "precision_grdchk_result"          testoutput_ad $1 $2 "precision_grdchk_result"
276      fi      fi
# Line 231  genmakemodel() Line 302  genmakemodel()
302              if test "x$IEEE" != x ; then              if test "x$IEEE" != x ; then
303                  command="$command -ieee"                  command="$command -ieee"
304              fi              fi
305                if test "x$MPI" = xt ; then
306                    command="$command -mpi"
307                fi
308              printf 'genmake ... ' 1>&2              printf 'genmake ... ' 1>&2
309              $command > make.log 2>&1              $command > make.log 2>&1
310              RETVAL=$?              RETVAL=$?
311              cp Makefile $CDIR              #  Reduce the size of the testing emails!
312                head -100 Makefile > $CDIR/Makefile_head
313              if test "x$RETVAL" != x0 ; then              if test "x$RETVAL" != x0 ; then
314                  tail make.log                  tail make.log
315                  echo "genmakemodel: genmake failed" 1>&2                  echo "genmakemodel: genmake failed" 1>&2
# Line 275  makeclean() Line 350  makeclean()
350      fi      fi
351  }  }
352    
353    postclean()
354    {
355        # postclean directory
356        if test "x$POSTCLEAN" = xt ; then
357            (
358                cd $1;
359                if test -r Makefile ; then
360                    $MAKE CLEAN >> /dev/null 2>&1
361                fi
362                exit 0
363            )
364        fi
365    }
366    
367  makedependmodel()  makedependmodel()
368  {  {
369      # makedependmodel directory      # makedependmodel directory
# Line 306  makemodel() Line 395  makemodel()
395          if test -r Makefile ; then          if test -r Makefile ; then
396              printf 'make ... ' 1>&2              printf 'make ... ' 1>&2
397              if test "x$ADM" = x ; then              if test "x$ADM" = x ; then
398                  $MAKE >> make.log 2>&1                  if test "x$JOBS" = x ; then
399                        $MAKE >> make.log 2>&1
400                    else
401                        $MAKE -j $JOBS >> make.log 2>&1
402                    fi
403              else              else
404                  $MAKE adall >> make.log 2>&1                  $MAKE adall >> make.log 2>&1
405              fi              fi
# Line 333  symlink_mpifiles() Line 426  symlink_mpifiles()
426      code_dir=$2      code_dir=$2
427      BUILD_DIR=$dir/$3      BUILD_DIR=$dir/$3
428      CODE_DIR=$dir/$code_dir      CODE_DIR=$dir/$code_dir
429        
430      # These are files that should replace their counter-part when using -mpi      # These are files that should replace their counter-part when using -mpi
431      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi")`      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi")`
432    
# Line 348  symlink_mpifiles() Line 441  symlink_mpifiles()
441              RETVAL=$?              RETVAL=$?
442              if test "x$RETVAL" != x0 ; then              if test "x$RETVAL" != x0 ; then
443                  if ! test -f $BUILD_DIR/$i ; then                  if ! test -f $BUILD_DIR/$i ; then
444                  #echo Linking $name to $i                      #echo Linking $name to $i
445                      (cd $BUILD_DIR; ln -sf ../$code_dir/$i $name)                      (cd $BUILD_DIR; ln -sf ../$code_dir/$i $name)
446                  fi                  fi
447              fi              fi
448          done          done
449      else      else
450      # NO: We undo any _mpi symbolically linked files          # NO: We undo any _mpi symbolically linked files
451          for ii in $MPI_FILES ; do          for ii in $MPI_FILES ; do
452              i=`echo $ii | sed 's:^\./::'`              i=`echo $ii | sed 's:^\./::'`
453              name=`echo $i | sed 's:_mpi::' `              name=`echo $i | sed 's:_mpi::' `
454              if test -L $BUILD_DIR/$name ; then              if test -L $BUILD_DIR/$name ; then
455                  linktarg=`(cd $BUILD_DIR; readlink $name)`                  cmp $BUILD_DIR/$name "../$code_dir/$name"_mpi > /dev/null 2>&1
456                  if test $linktarg = "../$code_dir/$name"_mpi ; then                  RETVAL=$?
457                  #echo Un-linking $name from $linktarg                  if test "x$RETVAL" = x0 ; then
458                        #echo Un-linking $name from $linktarg
459                      rm -f $BUILD_DIR/$name                      rm -f $BUILD_DIR/$name
460                  fi                  fi
461              fi              fi
# Line 381  linkdata() Line 475  linkdata()
475              if test "x$ADM" = x ; then              if test "x$ADM" = x ; then
476                  files=`( cd ../input ; ls -1 | grep -v CVS )`                  files=`( cd ../input ; ls -1 | grep -v CVS )`
477                  for i in $files ; do                  for i in $files ; do
478                      if test ! -d "../input/"$i ; then                      if test ! -d "../input/"$i -a ! -f $i ; then
479                          ln -sf "../input/"$i $i                          ln -sf "../input/"$i $i
480                      fi                      fi
481                  done                  done
# Line 414  runmodel() Line 508  runmodel()
508          printf 'runmodel ... ' 1>&2          printf 'runmodel ... ' 1>&2
509          # make output.txt          # make output.txt
510          echo          echo
511            rm -f run.log
512          # echo "COMMAND='$COMMAND'"          # echo "COMMAND='$COMMAND'"
513          # echo "pwd='"`pwd`"'"          # echo "pwd='"`pwd`"'"
514          ( eval $COMMAND ) >> run.log 2>&1          ( eval $COMMAND ) > run.log 2>&1
515          RETVAL=$?          RETVAL=$?
516          if test "x$RETVAL" = x0 ; then          if test "x$RETVAL" = x0 ; then
517                tail run.log
518              echo successful 1>&2              echo successful 1>&2
519              if test "x$ADM" = x ; then              # === Reduce the size of the testing emails!
520                  cp output.txt $CDIR"/output.txt"              # if test "x$ADM" = x ; then
521              else              #   cp output.txt $CDIR"/output.txt"
522                  cp output.txt_adm $CDIR"/output.txt_adm"              # else
523              fi              #   cp output.txt_adm $CDIR"/output.txt_adm"
524                # fi
525                if test -s STDERR.0000 ; then cp STDERR.0000 $CDIR"/STDERR.0000" ; fi
526              return 0              return 0
527          else          else
528              tail run.log              tail run.log
529              echo failed 1>&2              echo failed 1>&2
530              cp run.log $CDIR"/run.log"              cp run.log $CDIR"/run.log"
531                if test -s STDERR.0000 ; then cp STDERR.0000 $CDIR"/STDERR.0000" ; fi
532              return 1              return 1
533          fi          fi
534      )      )
# Line 445  createcodelet() Line 544  createcodelet()
544  #include <math.h>  #include <math.h>
545  int main( int argc, char** argv )  {  int main( int argc, char** argv )  {
546    int linnum,best,lncnt;    int linnum,best,lncnt;
547    double a,b,diff;    double a,b,abave,relerr;
548    best = -16;    best = -22;
549    lncnt = 0;    lncnt = 0;
550    while( 1 & (lncnt+=1) < 999 )  {    while( 1 & (lncnt+=1) < 999 )  {
551      scanf("%d", &linnum);      scanf("%d", &linnum);
552      if (linnum == -1)  break;      if (linnum == -1)  break;
553      scanf("%lf", &a);  scanf("%lf", &b);      scanf("%lf", &a);  scanf("%lf", &b);
554      diff = 0.5*(fabs(a)+fabs(b));      abave = 0.5*(fabs(a)+fabs(b));
555      if (diff > 1.e-12) {      if (abave > 0.0) {
556        diff=fabs(a-b)/diff;        relerr=fabs(a-b)/abave;
557        if (diff > 0.0) {        if (relerr > 0.0) { linnum = (int)rint(log10(relerr)); }
558          linnum = (int)log10(diff);        else { linnum = -16 ; }
559          best = (best > linnum) ? best : linnum;        best = (best > linnum) ? best : linnum;
       }  
       else {  
         if (best == -16 && diff != 0)  best = -22;  
       }  
560      }      }
561    }    }
562    if (lncnt == 999) best=-29;    if (lncnt == 999) best=-29;
# Line 469  int main( int argc, char** argv )  { Line 564  int main( int argc, char** argv )  {
564    return 0;    return 0;
565  }  }
566  EOF  EOF
567      cc -o tmp_cmpnum tmp_cmpnum.c -lm      $CC -o tmp_cmpnum tmp_cmpnum.c -lm
568    
569      if [ -x ./tmp_cmpnum ]; then      if [ -x ./tmp_cmpnum ]; then
570          echo "OK"          echo "OK"
571          return 0          return 0
572      else      else
573          echo          echo
574          echo "ERROR: failed to compile comparison code"          echo "ERROR: failed to compile comparison code -- please specify"
575            echo "  a C compiler using the CC environment variable."
576          exit 1          exit 1
577      fi      fi
578  }  }
# Line 545  clean=0 Line 641  clean=0
641  expts=''  expts=''
642  # ieee=1  # ieee=1
643    
644  IEEE=  IEEE=true
645  if test "x$MITGCM_IEEE" != x ; then  if test "x$MITGCM_IEEE" != x ; then
646      IEEE=$MITGCM_IEEE      IEEE=$MITGCM_IEEE
647  fi  fi
# Line 556  QUICK=f Line 652  QUICK=f
652  NOGENMAKE=f  NOGENMAKE=f
653  NOCLEAN=f  NOCLEAN=f
654  NODEPEND=f  NODEPEND=f
655    POSTCLEAN=f
656    
657  BASH=  BASH=
658  OPTFILE=NONE  OPTFILE=NONE
# Line 565  MPACKDIR="../tools/mpack-1.6" Line 662  MPACKDIR="../tools/mpack-1.6"
662  HAVE_MPACK=  HAVE_MPACK=
663  MPACK="$MPACKDIR/mpack"  MPACK="$MPACKDIR/mpack"
664  COMMAND=  COMMAND=
665  MAKE=make  if test "x$MAKE" = x ; then
666        MAKE=make
667    fi
668    if test "x$CC" = x ; then
669        CC=cc
670    fi
671    JOBS=
672  MPI=f  MPI=f
673    OUTDIR=
674    DELDIR=
675    
676  ADM=  ADM=
677    
678    # Additional monitor types
679    PTRACERS_NUM="1 2 3 4 5"
680    
681  printf "parsing options...  "  printf "parsing options...  "
682    
683  ac_prev=  ac_prev=
# Line 619  for ac_option ; do Line 727  for ac_option ; do
727          -make=* | --make=*)          -make=* | --make=*)
728              MAKE=$ac_optarg ;;              MAKE=$ac_optarg ;;
729    
730            -odir | --odir)
731                ac_prev=OUTDIR ;;
732            -odir=* | --odir=*)
733                OUTDIR=$ac_optarg ;;
734    
735            -ptracers | --ptracers | -ptr | --ptr)
736                ac_prev=PTRACERS_NUM ;;
737            -ptracers=* | --ptracers=* | -ptr=* | --ptr=*)
738                PTRACERS_NUM=$ac_optarg ;;
739    
740            -j) ac_prev=JOBS ;;
741            -j=*) JOBS=$ac_optarg ;;
742    
743          -clean | --clean)          -clean | --clean)
744              CLEANUP=t ;;              CLEANUP=t ; DELDIR=t ;;
745    
746          -quick | --quick | -q | --q)          -quick | --quick | -q | --q)
747              QUICK=t ;;              QUICK=t ;;
# Line 631  for ac_option ; do Line 752  for ac_option ; do
752          -nodepend | --nodepend | -nd | --nd)          -nodepend | --nodepend | -nd | --nd)
753              NODEPEND=t ;;              NODEPEND=t ;;
754    
755            -postclean | --postclean | -pc | --pc)
756                POSTCLEAN=t ;;
757    
758          -mpi) MPI=t ;;          -mpi) MPI=t ;;
759    
760          -adm | -ad) ADM=t ;;          -adm | -ad) ADM=t ;;
# Line 642  for ac_option ; do Line 766  for ac_option ; do
766          -debug) debug=1 ;;          -debug) debug=1 ;;
767          -quiet) verbose=0 ;;          -quiet) verbose=0 ;;
768    
769            -deldir | -dd) DELDIR=t ;;
770    
771          -*)          -*)
772              echo "Error: unrecognized option: "$ac_option              echo "Error: unrecognized option: "$ac_option
773              usage              usage
# Line 675  if test "x$ADM" = xt -a "x$COMMAND" = x Line 801  if test "x$ADM" = xt -a "x$COMMAND" = x
801  fi  fi
802    
803  if test "x$COMMAND" = x ; then  if test "x$COMMAND" = x ; then
804      COMMAND="make output.txt"      COMMAND="$MAKE output.txt"
805  fi  fi
806    
807  echo "OK"  echo "OK"
# Line 695  MACH=`hostname` Line 821  MACH=`hostname`
821  UNAMEA=`uname -a`  UNAMEA=`uname -a`
822  DATE=`date +%Y%m%d`  DATE=`date +%Y%m%d`
823  BASE="tr_"$MACH"_"$DATE"_"  BASE="tr_"$MACH"_"$DATE"_"
824    if test "x$OUTDIR" != x ; then
825        BASE="tr_"$OUTDIR"_"$DATE"_"
826    fi
827  DNUM=0  DNUM=0
828  DRESULTS="$BASE$DNUM"  DRESULTS="$BASE$DNUM"
829  while test -e $DRESULTS ; do  while test -e $DRESULTS ; do
# Line 740  fi Line 869  fi
869  echo  echo
870  echo >> $SUMMARY  echo >> $SUMMARY
871  if test "x$ADM" = x ; then  if test "x$ADM" = x ; then
872      cat << EOF | tee -a $SUMMARY      line_0="            ----T-----  ----S-----  ----U-----  ----V-----"
873                  T           S           U           V      line_1="G D M    c        m  s        m  s        m  s        m  s"
874  G D M    c        m  s        m  s        m  s        m  s      line_2="E p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  ."
875  E p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  .      line_3="N n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d"
876  N n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d      line_4="2 d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  ."
877  2 d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .      for ii in $PTRACERS_NUM ; do
878            #  tst=`eval 'echo $HAVE_PTR0'$ii`
879  EOF          #  if test "x$tst" = xt ; then
880            line_0="$line_0  --PTR 0"$ii"--"
881            line_1="$line_1        m  s"
882            line_2="$line_2  m  m  e  ."
883            line_3="$line_3  i  a  a  d"
884            line_4="$line_4  n  x  n  ."
885            #  fi
886        done
887        echo "$line_0" | tee -a $SUMMARY
888        echo "$line_1" | tee -a $SUMMARY
889        echo "$line_2" | tee -a $SUMMARY
890        echo "$line_3" | tee -a $SUMMARY
891        echo "$line_4" | tee -a $SUMMARY
892        echo " "       | tee -a $SUMMARY
893  else  else
894      echo "ADJOINT=true" >> $SUMMARY      echo "ADJOINT=true" >> $SUMMARY
895      echo >> $SUMMARY      echo >> $SUMMARY
# Line 771  for dir in $TESTDIRS ; do Line 913  for dir in $TESTDIRS ; do
913          if test -r $dir/input/Makefile ; then          if test -r $dir/input/Makefile ; then
914              ( cd $dir/input ; make CLEAN )              ( cd $dir/input ; make CLEAN )
915          fi          fi
916            (
917                cd $dir
918                rm -rf tr_run.*
919            )
920          continue          continue
921      fi      fi
922    
# Line 786  for dir in $TESTDIRS ; do Line 932  for dir in $TESTDIRS ; do
932          echo "can't read \"$fout\" -- skipping $dir"          echo "can't read \"$fout\" -- skipping $dir"
933          continue          continue
934      fi      fi
935        if test "x$ADM" = x ; then
936            check_for_add_mon_output  $fout
937        fi
938    
939        # Check for additional types of monitor output
940    
941      builddir="input"      builddir="input"
942      rundir="input"      rundir="input"
# Line 861  for dir in $TESTDIRS ; do Line 1012  for dir in $TESTDIRS ; do
1012          echo "DATE='$DATE'" >> $CDIR"/summary.txt"          echo "DATE='$DATE'" >> $CDIR"/summary.txt"
1013          echo "tdir='$dir'" >> $CDIR"/summary.txt"          echo "tdir='$dir'" >> $CDIR"/summary.txt"
1014    
         OLD_COMMAND=$COMMAND  
         COMMAND="./mitgcmuv > output.txt"  
1015          for ex in $extra_runs ; do          for ex in $extra_runs ; do
1016              test -e "$dir/tr_run" && rm -rf "$dir/tr_run"              test ! -e "$dir/tr_run.$ex" && mkdir "$dir/tr_run.$ex"
1017              mkdir "$dir/tr_run"              for ldir in input.$ex input ; do
1018              links=`( cd "$dir/input" > /dev/null 2>&1 ; ls -1 | grep -v CVS )`                  (
1019                        cd "$dir/$ldir" > /dev/null 2>&1
1020                        ls -1 2>/dev/null \
1021                            | sed -e 's|^CVS$||g' | sed -e 's|^output.txt$||g'
1022                    ) > tr_exrun_links
1023                    (
1024                        cd "$dir/tr_run.$ex"
1025                        cat ../../tr_exrun_links | while read i ; do
1026                            if test ! "x$i" = x ; then
1027                                test ! -r $i  &&  ln -s "../"$ldir"/"$i $i
1028                            fi
1029                        done
1030                    )
1031                    test -e tr_exrun_links  &&  rm -f tr_exrun_links
1032                done
1033                ldir=build
1034              (              (
1035                  cd "$dir/tr_run"                  cd "$dir/$ldir" > /dev/null 2>&1
1036                  for i in $links; do                  ls -1 Makefile *.[fFhco] mitgcmuv  2>/dev/null \
1037                      ln -s ../input/$i $i                      | sed -e 's|^CVS$||g' | sed -e 's|^output.txt$||g'
1038                  done              ) > tr_exrun_links
1039              )              (
1040              links=`( cd "$dir/input.$ex" > /dev/null 2>&1 ; ls -1 | grep -v CVS )`                  cd "$dir/tr_run.$ex"
1041              (                      cat ../../tr_exrun_links | while read i ; do
1042                  cd "$dir/tr_run"                          if test ! "x$i" = x ; then
1043                  for i in $links; do                              test ! -r $i  &&  ln -s "../"$ldir"/"$i $i
1044                      test -e $i  &&  rm -f $i                          fi
1045                      ln -s ../input.$ex/$i $i                      done
                 done  
                 ln -s ../$builddir/mitgcmuv mitgcmuv  
1046              )              )
1047              runmodel $dir/tr_run && run=Y \              test -e tr_exrun_links  &&  rm -f tr_exrun_links
1048                  && results=`testoutput $dir tr_run "."$ex`              runmodel $dir/tr_run.$ex && run=Y \
1049                    && results=`testoutput $dir tr_run.$ex "."$ex`
1050              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}`
1051              fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results`              fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results`
1052              fres="$fres.$ex"              fres="$fres.$ex"
# Line 895  for dir in $TESTDIRS ; do Line 1058  for dir in $TESTDIRS ; do
1058              echo "DATE='$DATE'" >> $CDIR"/summary.txt"              echo "DATE='$DATE'" >> $CDIR"/summary.txt"
1059              echo "tdir='$dir'" >> $CDIR"/summary.txt"              echo "tdir='$dir'" >> $CDIR"/summary.txt"
1060          done          done
         COMMAND=$OLD_COMMAND  
1061      else      else
1062          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}`
1063          fres=$fres"$results   $dir"          fres=$fres"$results   $dir"
# Line 907  for dir in $TESTDIRS ; do Line 1069  for dir in $TESTDIRS ; do
1069          echo "DATE='$DATE'" >> $CDIR"/summary.txt"          echo "DATE='$DATE'" >> $CDIR"/summary.txt"
1070          echo "tdir='$dir'" >> $CDIR"/summary.txt"          echo "tdir='$dir'" >> $CDIR"/summary.txt"
1071      fi      fi
1072    
1073        postclean $dir/$builddir
1074            
1075      echo "-------------------------------------------------------------------------------"      echo "-------------------------------------------------------------------------------"
1076            
# Line 925  else Line 1089  else
1089      if test "x$HAVE_MPACK" = xt ; then      if test "x$HAVE_MPACK" = xt ; then
1090          tar -cf $DRESULTS".tar" $DRESULTS > /dev/null 2>&1 \          tar -cf $DRESULTS".tar" $DRESULTS > /dev/null 2>&1 \
1091              && gzip $DRESULTS".tar" \              && gzip $DRESULTS".tar" \
1092              && $MPACK -s MITgcm-test -m 1500000 $DRESULTS".tar.gz" $ADDRESSES              && $MPACK -s MITgcm-test -m 3555000 $DRESULTS".tar.gz" $ADDRESSES
1093          RETVAL=$?          RETVAL=$?
1094          if test "x$RETVAL" != x0 ; then          if test "x$RETVAL" != x0 ; then
1095              echo              echo
# Line 948  fi Line 1112  fi
1112  rm -f tmp_cmpnum.c tmp_cmpnum  rm -f tmp_cmpnum.c tmp_cmpnum
1113    
1114  if test "x$CLEANUP" != xt ; then  if test "x$CLEANUP" != xt ; then
1115      cat $SUMMARY      cat $SUMMARY | sed 's/ -- -- -- --//g'
1116      if test -e tr_out.txt ; then      if test -e tr_out.txt ; then
1117          mv tr_out.txt tr_out.txt.old          mv tr_out.txt tr_out.txt.old
1118      fi      fi
1119      cat $SUMMARY > tr_out.txt      cat $SUMMARY | sed 's/ -- -- -- --//g' > tr_out.txt
1120    fi
1121    
1122    if test "x$DELDIR" = xt ; then
1123        rm -rf $DRESULTS
1124  fi  fi
1125    

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.70

  ViewVC Help
Powered by ViewVC 1.1.22