/[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.34 by edhill, Fri Mar 12 02:44:34 2004 UTC revision 1.71 by jmc, Tue Aug 16 17:12:46 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        non_real_numb=`egrep -c -i 'NAN|INF' tmp1.txt`
129        if [ $non_real_numb -gt 0 ]; then
130            echo testoutput_for_prop: output.txt has $non_real_numb not real numbers 1>&2
131            return 99
132        fi
133      if [ $debug -gt 0 ]; then      if [ $debug -gt 0 ]; then
134          echo testoutput_for_prop: join tmp1.txt tmp2.txt 1>&2          echo testoutput_for_prop: join tmp1.txt tmp2.txt 1>&2
135      fi      fi
# Line 169  testoutput_ad() Line 190  testoutput_ad()
190      rm -f t[01][56].txt t[56].txt      rm -f t[01][56].txt t[56].txt
191  }  }
192    
193    check_for_add_mon_output()
194    {
195        # Check for additional types of monitor output
196        if test "x$1" = x ; then
197            return
198        fi
199    
200        for ii in $PTRACERS_NUM ; do
201            eval "HAVE_PTR0"$ii"=f"
202        done
203    
204        ptr_add="trcstat_ptracerXX_min trcstat_ptracerXX_max"
205        ptr_add="$ptr_add trcstat_ptracerXX_mean trcstat_ptracerXX_sd"
206        for ii in $PTRACERS_NUM ; do
207            for jj in $ptr_add ; do
208                name=`eval "echo $jj | sed -e 's|XX|0"$ii"|g'"`
209                tst=`grep $name $1 | wc -l | awk '{print $1}'`
210                if test ! "x$tst" = x0 ; then
211                    eval "HAVE_PTR0"$ii"=t"
212                fi
213            done
214            #  eval 'echo "HAVE_PTR0'$ii' = $HAVE_PTR0'$ii'"'
215        done
216    }
217    
218  testoutput()  testoutput()
219  {  {
220      # testoutput directory subdir extension      # testoutput directory subdir extension
# Line 198  testoutput() Line 244  testoutput()
244          testoutput_for_prop $1 "dynstat_vvel_max" "V maximum" $2 $3; vmax=$?          testoutput_for_prop $1 "dynstat_vvel_max" "V maximum" $2 $3; vmax=$?
245          testoutput_for_prop $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$?          testoutput_for_prop $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$?
246          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=$?
247          dashnum $cg2dres $tmin $tmax $tmean $tsd $smin $smax $smean $ssd \  
248              $umin $umax $umean $usd $vmin $vmax $vmean $vsd          #  This is for PTRACERS
249            for ii in $PTRACERS_NUM ; do
250                eval `echo "p0"$ii"_min=99"`
251                eval `echo "p0"$ii"_max=99"`
252                eval `echo "p0"$ii"_mean=99"`
253                eval `echo "p0"$ii"_sd=99"`
254                tst=`eval 'echo "$HAVE_PTR0'$ii'"'`
255                #echo 'tst = '$tst
256                if test "x$tst" = xt ; then
257                    a="trcstat_ptracer0"
258                    testoutput_for_prop $1 "$a"$ii"_min"  "p0"$ii"_min"  $2 $3
259                    RETVAL=$? ; eval `echo "p0"$ii"_min="$RETVAL`
260                    testoutput_for_prop $1 "$a"$ii"_max"  "p0"$ii"_max"  $2 $3
261                    RETVAL=$? ; eval `echo "p0"$ii"_max="$RETVAL`
262                    testoutput_for_prop $1 "$a"$ii"_mean" "p0"$ii"_mean" $2 $3
263                    RETVAL=$? ; eval `echo "p0"$ii"_mean="$RETVAL`
264                    testoutput_for_prop $1 "$a"$ii"_sd"   "p0"$ii"_sd"   $2 $3
265                    RETVAL=$? ; eval `echo "p0"$ii"_sd="$RETVAL`
266                fi
267            done
268    
269            allargs="$cg2dres $tmin $tmax $tmean $tsd $smin $smax $smean $ssd"
270            allargs="$allargs $umin $umax $umean $usd $vmin $vmax $vmean $vsd"
271            allargs="$allargs $p01_min $p01_max $p01_mean $p01_sd"
272            allargs="$allargs $p02_min $p02_max $p02_mean $p02_sd"
273            allargs="$allargs $p03_min $p03_max $p03_mean $p03_sd"
274            allargs="$allargs $p04_min $p04_max $p04_mean $p04_sd"
275            allargs="$allargs $p05_min $p05_max $p05_mean $p05_sd"
276    
277            eval "dashnum $allargs"
278    
279      else      else
280          testoutput_ad $1 $2 "precision_grdchk_result"          testoutput_ad $1 $2 "precision_grdchk_result"
281      fi      fi
# Line 231  genmakemodel() Line 307  genmakemodel()
307              if test "x$IEEE" != x ; then              if test "x$IEEE" != x ; then
308                  command="$command -ieee"                  command="$command -ieee"
309              fi              fi
310                if test "x$MPI" = xt ; then
311                    command="$command -mpi"
312                fi
313              printf 'genmake ... ' 1>&2              printf 'genmake ... ' 1>&2
314              $command > make.log 2>&1              $command > make.log 2>&1
315              RETVAL=$?              RETVAL=$?
316              cp Makefile $CDIR              #  Reduce the size of the testing emails!
317                head -100 Makefile > $CDIR/Makefile_head
318              if test "x$RETVAL" != x0 ; then              if test "x$RETVAL" != x0 ; then
319                  tail make.log                  tail make.log
320                  echo "genmakemodel: genmake failed" 1>&2                  echo "genmakemodel: genmake failed" 1>&2
# Line 275  makeclean() Line 355  makeclean()
355      fi      fi
356  }  }
357    
358    postclean()
359    {
360        # postclean directory
361        if test "x$POSTCLEAN" = xt ; then
362            (
363                cd $1;
364                if test -r Makefile ; then
365                    $MAKE CLEAN >> /dev/null 2>&1
366                fi
367                exit 0
368            )
369        fi
370    }
371    
372  makedependmodel()  makedependmodel()
373  {  {
374      # makedependmodel directory      # makedependmodel directory
# Line 306  makemodel() Line 400  makemodel()
400          if test -r Makefile ; then          if test -r Makefile ; then
401              printf 'make ... ' 1>&2              printf 'make ... ' 1>&2
402              if test "x$ADM" = x ; then              if test "x$ADM" = x ; then
403                  $MAKE >> make.log 2>&1                  if test "x$JOBS" = x ; then
404                        $MAKE >> make.log 2>&1
405                    else
406                        $MAKE -j $JOBS >> make.log 2>&1
407                    fi
408              else              else
409                  $MAKE adall >> make.log 2>&1                  $MAKE adall >> make.log 2>&1
410              fi              fi
# Line 333  symlink_mpifiles() Line 431  symlink_mpifiles()
431      code_dir=$2      code_dir=$2
432      BUILD_DIR=$dir/$3      BUILD_DIR=$dir/$3
433      CODE_DIR=$dir/$code_dir      CODE_DIR=$dir/$code_dir
434        
435      # These are files that should replace their counter-part when using -mpi      # These are files that should replace their counter-part when using -mpi
436      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi")`      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi")`
437    
# Line 348  symlink_mpifiles() Line 446  symlink_mpifiles()
446              RETVAL=$?              RETVAL=$?
447              if test "x$RETVAL" != x0 ; then              if test "x$RETVAL" != x0 ; then
448                  if ! test -f $BUILD_DIR/$i ; then                  if ! test -f $BUILD_DIR/$i ; then
449                  #echo Linking $name to $i                      #echo Linking $name to $i
450                      (cd $BUILD_DIR; ln -sf ../$code_dir/$i $name)                      (cd $BUILD_DIR; ln -sf ../$code_dir/$i $name)
451                  fi                  fi
452              fi              fi
453          done          done
454      else      else
455      # NO: We undo any _mpi symbolically linked files          # NO: We undo any _mpi symbolically linked files
456          for ii in $MPI_FILES ; do          for ii in $MPI_FILES ; do
457              i=`echo $ii | sed 's:^\./::'`              i=`echo $ii | sed 's:^\./::'`
458              name=`echo $i | sed 's:_mpi::' `              name=`echo $i | sed 's:_mpi::' `
459              if test -L $BUILD_DIR/$name ; then              if test -L $BUILD_DIR/$name ; then
460                  linktarg=`(cd $BUILD_DIR; readlink $name)`                  cmp $BUILD_DIR/$name "../$code_dir/$name"_mpi > /dev/null 2>&1
461                  if test $linktarg = "../$code_dir/$name"_mpi ; then                  RETVAL=$?
462                  #echo Un-linking $name from $linktarg                  if test "x$RETVAL" = x0 ; then
463                        #echo Un-linking $name from $linktarg
464                      rm -f $BUILD_DIR/$name                      rm -f $BUILD_DIR/$name
465                  fi                  fi
466              fi              fi
# Line 381  linkdata() Line 480  linkdata()
480              if test "x$ADM" = x ; then              if test "x$ADM" = x ; then
481                  files=`( cd ../input ; ls -1 | grep -v CVS )`                  files=`( cd ../input ; ls -1 | grep -v CVS )`
482                  for i in $files ; do                  for i in $files ; do
483                      if test ! -d "../input/"$i ; then                      if test ! -d "../input/"$i -a ! -f $i ; then
484                          ln -sf "../input/"$i $i                          ln -sf "../input/"$i $i
485                      fi                      fi
486                  done                  done
# Line 413  runmodel() Line 512  runmodel()
512          cd $1          cd $1
513          printf 'runmodel ... ' 1>&2          printf 'runmodel ... ' 1>&2
514          # make output.txt          # make output.txt
515          $COMMAND >> run.log 2>&1          echo
516            rm -f run.log
517            # echo "COMMAND='$COMMAND'"
518            # echo "pwd='"`pwd`"'"
519            ( eval $COMMAND ) > run.log 2>&1
520          RETVAL=$?          RETVAL=$?
521          if test "x$RETVAL" = x0 ; then          if test "x$RETVAL" = x0 ; then
522                tail run.log
523              echo successful 1>&2              echo successful 1>&2
524              if test "x$ADM" = x ; then              # === Reduce the size of the testing emails!
525                  cp output.txt $CDIR"/output.txt"              # if test "x$ADM" = x ; then
526              else              #   cp output.txt $CDIR"/output.txt"
527                  cp output.txt_adm $CDIR"/output.txt_adm"              # else
528              fi              #   cp output.txt_adm $CDIR"/output.txt_adm"
529                # fi
530                if test -s STDERR.0000 ; then cp STDERR.0000 $CDIR"/STDERR.0000" ; fi
531              return 0              return 0
532          else          else
533              tail run.log              tail run.log
534              echo failed 1>&2              echo failed 1>&2
535              cp run.log $CDIR"/run.log"              cp run.log $CDIR"/run.log"
536                if test -s STDERR.0000 ; then cp STDERR.0000 $CDIR"/STDERR.0000" ; fi
537              return 1              return 1
538          fi          fi
539      )      )
# Line 442  createcodelet() Line 549  createcodelet()
549  #include <math.h>  #include <math.h>
550  int main( int argc, char** argv )  {  int main( int argc, char** argv )  {
551    int linnum,best,lncnt;    int linnum,best,lncnt;
552    double a,b,diff;    double a,b,abave,relerr;
553    best = -16;    best = -22;
554    lncnt = 0;    lncnt = 0;
555    while( 1 & (lncnt+=1) < 999 )  {    while( 1 & (lncnt+=1) < 999 )  {
556      scanf("%d", &linnum);      scanf("%d", &linnum);
557      if (linnum == -1)  break;      if (linnum == -1)  break;
558      scanf("%lf", &a);  scanf("%lf", &b);      scanf("%lf", &a);  scanf("%lf", &b);
559      diff = 0.5*(fabs(a)+fabs(b));      abave = 0.5*(fabs(a)+fabs(b));
560      if (diff > 1.e-12) {      if (abave > 0.0) {
561        diff=fabs(a-b)/diff;        relerr=fabs(a-b)/abave;
562        if (diff > 0.0) {        if (relerr > 0.0) { linnum = (int)rint(log10(relerr)); }
563          linnum = (int)log10(diff);        else { linnum = -16 ; }
564          best = (best > linnum) ? best : linnum;        best = (best > linnum) ? best : linnum;
       }  
       else {  
         if (best == -16 && diff != 0)  best = -22;  
       }  
565      }      }
566    }    }
567    if (lncnt == 999) best=-29;    if (lncnt == 999) best=-29;
# Line 466  int main( int argc, char** argv )  { Line 569  int main( int argc, char** argv )  {
569    return 0;    return 0;
570  }  }
571  EOF  EOF
572      cc -o tmp_cmpnum tmp_cmpnum.c -lm      $CC -o tmp_cmpnum tmp_cmpnum.c -lm
573    
574      if [ -x ./tmp_cmpnum ]; then      if [ -x ./tmp_cmpnum ]; then
575          echo "OK"          echo "OK"
576          return 0          return 0
577      else      else
578          echo          echo
579          echo "ERROR: failed to compile comparison code"          echo "ERROR: failed to compile comparison code -- please specify"
580            echo "  a C compiler using the CC environment variable."
581          exit 1          exit 1
582      fi      fi
583  }  }
# Line 542  clean=0 Line 646  clean=0
646  expts=''  expts=''
647  # ieee=1  # ieee=1
648    
649  IEEE=  IEEE=true
650  if test "x$MITGCM_IEEE" != x ; then  if test "x$MITGCM_IEEE" != x ; then
651      IEEE=$MITGCM_IEEE      IEEE=$MITGCM_IEEE
652  fi  fi
# Line 553  QUICK=f Line 657  QUICK=f
657  NOGENMAKE=f  NOGENMAKE=f
658  NOCLEAN=f  NOCLEAN=f
659  NODEPEND=f  NODEPEND=f
660    POSTCLEAN=f
661    
662  BASH=  BASH=
663  OPTFILE=NONE  OPTFILE=NONE
# Line 562  MPACKDIR="../tools/mpack-1.6" Line 667  MPACKDIR="../tools/mpack-1.6"
667  HAVE_MPACK=  HAVE_MPACK=
668  MPACK="$MPACKDIR/mpack"  MPACK="$MPACKDIR/mpack"
669  COMMAND=  COMMAND=
670  MAKE=make  if test "x$MAKE" = x ; then
671        MAKE=make
672    fi
673    if test "x$CC" = x ; then
674        CC=cc
675    fi
676    JOBS=
677  MPI=f  MPI=f
678    OUTDIR=
679    DELDIR=
680    
681  ADM=  ADM=
682    
683    # Additional monitor types
684    PTRACERS_NUM="1 2 3 4 5"
685    
686  printf "parsing options...  "  printf "parsing options...  "
687    
688  ac_prev=  ac_prev=
# Line 616  for ac_option ; do Line 732  for ac_option ; do
732          -make=* | --make=*)          -make=* | --make=*)
733              MAKE=$ac_optarg ;;              MAKE=$ac_optarg ;;
734    
735            -odir | --odir)
736                ac_prev=OUTDIR ;;
737            -odir=* | --odir=*)
738                OUTDIR=$ac_optarg ;;
739    
740            -ptracers | --ptracers | -ptr | --ptr)
741                ac_prev=PTRACERS_NUM ;;
742            -ptracers=* | --ptracers=* | -ptr=* | --ptr=*)
743                PTRACERS_NUM=$ac_optarg ;;
744    
745            -j) ac_prev=JOBS ;;
746            -j=*) JOBS=$ac_optarg ;;
747    
748          -clean | --clean)          -clean | --clean)
749              CLEANUP=t ;;              CLEANUP=t ; DELDIR=t ;;
750    
751          -quick | --quick | -q | --q)          -quick | --quick | -q | --q)
752              QUICK=t ;;              QUICK=t ;;
# Line 628  for ac_option ; do Line 757  for ac_option ; do
757          -nodepend | --nodepend | -nd | --nd)          -nodepend | --nodepend | -nd | --nd)
758              NODEPEND=t ;;              NODEPEND=t ;;
759    
760            -postclean | --postclean | -pc | --pc)
761                POSTCLEAN=t ;;
762    
763          -mpi) MPI=t ;;          -mpi) MPI=t ;;
764    
765          -adm | -ad) ADM=t ;;          -adm | -ad) ADM=t ;;
# Line 639  for ac_option ; do Line 771  for ac_option ; do
771          -debug) debug=1 ;;          -debug) debug=1 ;;
772          -quiet) verbose=0 ;;          -quiet) verbose=0 ;;
773    
774            -deldir | -dd) DELDIR=t ;;
775    
776          -*)          -*)
777              echo "Error: unrecognized option: "$ac_option              echo "Error: unrecognized option: "$ac_option
778              usage              usage
# Line 672  if test "x$ADM" = xt -a "x$COMMAND" = x Line 806  if test "x$ADM" = xt -a "x$COMMAND" = x
806  fi  fi
807    
808  if test "x$COMMAND" = x ; then  if test "x$COMMAND" = x ; then
809      COMMAND="make output.txt"      COMMAND="$MAKE output.txt"
810  fi  fi
811    
812  echo "OK"  echo "OK"
# Line 692  MACH=`hostname` Line 826  MACH=`hostname`
826  UNAMEA=`uname -a`  UNAMEA=`uname -a`
827  DATE=`date +%Y%m%d`  DATE=`date +%Y%m%d`
828  BASE="tr_"$MACH"_"$DATE"_"  BASE="tr_"$MACH"_"$DATE"_"
829    if test "x$OUTDIR" != x ; then
830        BASE="tr_"$OUTDIR"_"$DATE"_"
831    fi
832  DNUM=0  DNUM=0
833  DRESULTS="$BASE$DNUM"  DRESULTS="$BASE$DNUM"
834  while test -e $DRESULTS ; do  while test -e $DRESULTS ; do
# Line 737  fi Line 874  fi
874  echo  echo
875  echo >> $SUMMARY  echo >> $SUMMARY
876  if test "x$ADM" = x ; then  if test "x$ADM" = x ; then
877      cat << EOF | tee -a $SUMMARY      line_0="            ----T-----  ----S-----  ----U-----  ----V-----"
878                  T           S           U           V      line_1="G D M    c        m  s        m  s        m  s        m  s"
879  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  ."
880  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"
881  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  ."
882  2 d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .      for ii in $PTRACERS_NUM ; do
883            #  tst=`eval 'echo $HAVE_PTR0'$ii`
884  EOF          #  if test "x$tst" = xt ; then
885            line_0="$line_0  --PTR 0"$ii"--"
886            line_1="$line_1        m  s"
887            line_2="$line_2  m  m  e  ."
888            line_3="$line_3  i  a  a  d"
889            line_4="$line_4  n  x  n  ."
890            #  fi
891        done
892        echo "$line_0" | tee -a $SUMMARY
893        echo "$line_1" | tee -a $SUMMARY
894        echo "$line_2" | tee -a $SUMMARY
895        echo "$line_3" | tee -a $SUMMARY
896        echo "$line_4" | tee -a $SUMMARY
897        echo " "       | tee -a $SUMMARY
898  else  else
899      echo "ADJOINT=true" >> $SUMMARY      echo "ADJOINT=true" >> $SUMMARY
900      echo >> $SUMMARY      echo >> $SUMMARY
# Line 768  for dir in $TESTDIRS ; do Line 918  for dir in $TESTDIRS ; do
918          if test -r $dir/input/Makefile ; then          if test -r $dir/input/Makefile ; then
919              ( cd $dir/input ; make CLEAN )              ( cd $dir/input ; make CLEAN )
920          fi          fi
921            (
922                cd $dir
923                rm -rf tr_run.*
924            )
925          continue          continue
926      fi      fi
927    
# Line 783  for dir in $TESTDIRS ; do Line 937  for dir in $TESTDIRS ; do
937          echo "can't read \"$fout\" -- skipping $dir"          echo "can't read \"$fout\" -- skipping $dir"
938          continue          continue
939      fi      fi
940        if test "x$ADM" = x ; then
941            check_for_add_mon_output  $fout
942        fi
943    
944        # Check for additional types of monitor output
945    
946      builddir="input"      builddir="input"
947      rundir="input"      rundir="input"
# Line 859  for dir in $TESTDIRS ; do Line 1018  for dir in $TESTDIRS ; do
1018          echo "tdir='$dir'" >> $CDIR"/summary.txt"          echo "tdir='$dir'" >> $CDIR"/summary.txt"
1019    
1020          for ex in $extra_runs ; do          for ex in $extra_runs ; do
1021              test -e "$dir/tr_run" && rm -rf "$dir/tr_run"              test ! -e "$dir/tr_run.$ex" && mkdir "$dir/tr_run.$ex"
1022              mkdir "$dir/tr_run"              for ldir in input.$ex input ; do
1023              ( cd "$dir/input" ; links=`ls -1 | grep -v CVS` )                  (
1024                        cd "$dir/$ldir" > /dev/null 2>&1
1025                        ls -1 2>/dev/null \
1026                            | sed -e 's|^CVS$||g' | sed -e 's|^output.txt$||g'
1027                    ) > tr_exrun_links
1028                    (
1029                        cd "$dir/tr_run.$ex"
1030                        cat ../../tr_exrun_links | while read i ; do
1031                            if test ! "x$i" = x ; then
1032                                test ! -r $i  &&  ln -s "../"$ldir"/"$i $i
1033                            fi
1034                        done
1035                    )
1036                    test -e tr_exrun_links  &&  rm -f tr_exrun_links
1037                done
1038                ldir=build
1039              (              (
1040                  cd "$dir/tr_run"                  cd "$dir/$ldir" > /dev/null 2>&1
1041                  for i in $links; do                  ls -1 Makefile *.[fFhco] mitgcmuv  2>/dev/null \
1042                      ln -s ../input/$i $i                      | sed -e 's|^CVS$||g' | sed -e 's|^output.txt$||g'
1043                  done              ) > tr_exrun_links
1044              )              (
1045              ( cd "$dir/input.$ex" ; links=`ls -1 | grep -v CVS` )                  cd "$dir/tr_run.$ex"
1046              (                      cat ../../tr_exrun_links | while read i ; do
1047                  cd "$dir/tr_run"                          if test ! "x$i" = x ; then
1048                  for i in $links; do                              test ! -r $i  &&  ln -s "../"$ldir"/"$i $i
1049                      test -e $i  &&  rm -f $i                          fi
1050                      ln -s ../input.$ex/$i $i                      done
                 done  
                 ln -s ../$builddir/Makefile Makefile  
                 ln -s ../$builddir/mitgcmuv mitgcmuv  
1051              )              )
1052              runmodel $dir/tr_run && run=Y \              test -e tr_exrun_links  &&  rm -f tr_exrun_links
1053                  && results=`testoutput $dir $rundir "."$ex`              runmodel $dir/tr_run.$ex && run=Y \
1054                    && results=`testoutput $dir tr_run.$ex "."$ex`
1055              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}`
1056              fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results`              fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results`
1057              fres="$fres.$ex"              fres="$fres.$ex"
# Line 902  for dir in $TESTDIRS ; do Line 1074  for dir in $TESTDIRS ; do
1074          echo "DATE='$DATE'" >> $CDIR"/summary.txt"          echo "DATE='$DATE'" >> $CDIR"/summary.txt"
1075          echo "tdir='$dir'" >> $CDIR"/summary.txt"          echo "tdir='$dir'" >> $CDIR"/summary.txt"
1076      fi      fi
1077    
1078        postclean $dir/$builddir
1079            
1080      echo "-------------------------------------------------------------------------------"      echo "-------------------------------------------------------------------------------"
1081            
# Line 920  else Line 1094  else
1094      if test "x$HAVE_MPACK" = xt ; then      if test "x$HAVE_MPACK" = xt ; then
1095          tar -cf $DRESULTS".tar" $DRESULTS > /dev/null 2>&1 \          tar -cf $DRESULTS".tar" $DRESULTS > /dev/null 2>&1 \
1096              && gzip $DRESULTS".tar" \              && gzip $DRESULTS".tar" \
1097              && $MPACK -s MITgcm-test -m 1500000 $DRESULTS".tar.gz" $ADDRESSES              && $MPACK -s MITgcm-test -m 3555000 $DRESULTS".tar.gz" $ADDRESSES
1098          RETVAL=$?          RETVAL=$?
1099          if test "x$RETVAL" != x0 ; then          if test "x$RETVAL" != x0 ; then
1100              echo              echo
# Line 943  fi Line 1117  fi
1117  rm -f tmp_cmpnum.c tmp_cmpnum  rm -f tmp_cmpnum.c tmp_cmpnum
1118    
1119  if test "x$CLEANUP" != xt ; then  if test "x$CLEANUP" != xt ; then
1120      cat $SUMMARY      cat $SUMMARY | sed 's/ -- -- -- --//g'
1121      if test -e tr_out.txt ; then      if test -e tr_out.txt ; then
1122          mv tr_out.txt tr_out.txt.old          mv tr_out.txt tr_out.txt.old
1123      fi      fi
1124      cat $SUMMARY > tr_out.txt      cat $SUMMARY | sed 's/ -- -- -- --//g' > tr_out.txt
1125    fi
1126    
1127    if test "x$DELDIR" = xt ; then
1128        rm -rf $DRESULTS
1129  fi  fi
1130    

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.71

  ViewVC Help
Powered by ViewVC 1.1.22