/[MITgcm]/MITgcm/tools/example_scripts/csail/test_baudelaire
ViewVC logotype

Diff of /MITgcm/tools/example_scripts/csail/test_baudelaire

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

revision 1.17 by jmc, Sat Apr 6 21:38:17 2013 UTC revision 1.30 by jmc, Tue Sep 27 20:34:31 2016 UTC
# Line 2  Line 2 
2    
3  # $Header$  # $Header$
4    
5  #  Test script for MITgcm that should work on most of the csail.mit.edu  #  Test script for MITgcm that should work on most of the csail.mit.edu Linux machines.
6  #  Linux machines.  
7    tst_grp=0 ; if test $# = 1 ; then tst_grp=$1 ; fi
8    if test $tst_grp != 'a' -a $tst_grp != 'b' ; then
9      echo "missing or invalid argument (expect: 'a' or 'b') ==> exit"
10      exit 1
11    fi
12    
13  # defaults  # defaults
14  #export PATH="$PATH:/usr/local/bin"  #export PATH="$PATH:/usr/local/bin"
# Line 25  ulimit -s unlimited Line 30  ulimit -s unlimited
30  cmdCVS='cvs -d :pserver:cvsanon@mitgcm.org:/u/gcmpack'  cmdCVS='cvs -d :pserver:cvsanon@mitgcm.org:/u/gcmpack'
31  cmdCVS='cvs -d /u/gcmpack'  cmdCVS='cvs -d /u/gcmpack'
32    
33    # checkOut=2 : download new code ;
34    #   =3 : skip download but, if sepDir, use a new copy
35    #   =1 : update code       (if no existing code -> swith to 2)
36    #   =0 : use existing code (if no existing code -> swith to 2)
37  dInWeek=`date +%a`  dInWeek=`date +%a`
38  TESTDIR="/scratch/jmc/test_"`hostname -s`  outDir=`hostname -s`
39    TESTDIR="/scratch/jmc/test_${outDir}"
40    outDir="${outDir}-${tst_grp}"
41  MC=13  MC=13
 checkOut=1  
42  sepDir=1  sepDir=1
43  option=  option=
44  tst_list='g7a adm mpa g77 gfo+rs mth mp2+rs mpi ifc'  #tst_list='g7a adm mpa g77 gfo+rs mth mp2+rs mpi ifc'
45  if test "x$dInWeek" = xSun ; then tst_list="$tst_list tlm" ; fi  #if test "x$dInWeek" = xSun ; then tst_list="$tst_list tlm oad" ; fi
46  #tst_list='g77 adm gfo ifc mth pgi+rs'  if test $tst_grp = 'a' ; then
47  #tst_list='adm gfo+rs mth'   checkOut=2
48     tst_list='g7a mpa mth mp2+rs mpi oad'
49    else
50     checkOut=3
51     tst_list='adm g77 gfo+rs ifc'
52     if test "x$dInWeek" = xSun ; then tst_list="$tst_list tlm" ; fi
53    fi
54    echo " test: $outDir ; list='$tst_list'"
55    
56  #option="-nc" ; checkOut=0  #option="-nc" ; checkOut=1
57  #option="-q"  ; checkOut=0  #option="-q"  ; checkOut=1
58    
59  TODAY=`date +%d`  TODAY=`date +%d`
60  tdir=$TESTDIR  tdir=$TESTDIR
61  if test $checkOut = '0' ; then  if test $checkOut != 2 ; then
62    if test -e $tdir/MITgcm/CVS ; then    if test -e $tdir/MITgcm/CVS ; then
63      echo $tdir/MITgcm/CVS 'exist'      echo $tdir/MITgcm/CVS 'exist'
64      if test $sepDir = 0 ; then      if test $sepDir = 0 -a $checkOut = 1 ; then
65        echo -n "Update the MITgcm code using: $cmdCVS ..."        echo -n "Update the MITgcm code using: $cmdCVS ..."
66        cd $tdir/MITgcm        cd $tdir/MITgcm
67        $cmdCVS update -P -d        $cmdCVS update -P -d
# Line 52  if test $checkOut = '0' ; then Line 69  if test $checkOut = '0' ; then
69      fi      fi
70    else    else
71      echo -n $tdir/MITgcm 'missing ; '      echo -n $tdir/MITgcm 'missing ; '
72      checkOut=1      checkOut=2
73    fi    fi
74  fi  fi
75  if test $checkOut = '1' ; then  if test $checkOut = 2 ; then
76    if test -e $tdir ; then    if test -e $tdir ; then
77      echo -n "Removing working copy: $tdir/MITgcm ..."      echo -n "Removing working copy: $tdir/MITgcm ..."
78      test -e $tdir/MITgcm  &&  rm -rf $tdir/MITgcm      test -e $tdir/MITgcm  &&  rm -rf $tdir/MITgcm
# Line 68  if test $checkOut = '1' ; then Line 85  if test $checkOut = '1' ; then
85    cd $tdir    cd $tdir
86    $cmdCVS co -P MITgcm > /dev/null    $cmdCVS co -P MITgcm > /dev/null
87    echo "  done"    echo "  done"
88      if test -d other_input ; then
89        list_dirs=`(cd other_input ; ls 2> /dev/null )`
90        echo "Updating ( $cmdCVS update -P -d ) 'other_input' extra dirs:"
91        for exd in $list_dirs ; do
92         if test -d other_input/$exd/CVS ; then echo "  $exd"
93          ( cd other_input/$exd ; $cmdCVS update -P -d )
94         fi
95        done
96        echo " <-- update of 'other_input' dirs done"
97      fi
98  else  else
99    cd $tdir    cd $tdir
100  fi  fi
# Line 81  do Line 108  do
108    
109    echo "================================================================"    echo "================================================================"
110    typ=`echo $tt | sed 's/+rs//'`    typ=`echo $tt | sed 's/+rs//'`
111      #- define list of additional experiences to test:
112      addExp=''
113      if test $typ = 'mp2' -o $typ = 'ifc' ; then
114        addExp="offline_cheapaml atm_gray"
115      fi
116      if test $typ = 'gfo' -o $typ = 'ifc' ; then
117        addExp="$addExp global_oce_biogeo_bling"
118        addExp="$addExp shelfice_remeshing"
119      fi
120      if test $typ = 'mpi' ; then
121        addExp="$addExp global_oce_cs32"
122      fi
123    #- check day and time:    #- check day and time:
124    curDay=`date +%d` ; curHour=`date +%H`    curDay=`date +%d` ; curHour=`date +%H`
125    if [ $curDay -ne $TODAY ] ; then    if [ $curDay -ne $TODAY ] ; then
# Line 91  do Line 130  do
130      date ; echo "too late to run test $typ"      date ; echo "too late to run test $typ"
131      continue      continue
132    fi    fi
133      if test $sepDir = 0 -a "x$option" != x -a  $tt != $last_Tst ; then
134        echo "using option='$option' prevent multi-tests => skip test $typ"
135        continue
136      fi
137    #- clean-up old output files    #- clean-up old output files
138    rm -f $tdir/output_${typ}*    rm -f $tdir/output_${typ}*
139    touch $tdir/output_$tt    touch $tdir/output_$tt
140    if test $sepDir = 1 ; then    if test $sepDir = 1 ; then
141      new_dir="MITgcm_$typ"      new_dir="MITgcm_$typ"
142      if test -d $new_dir/CVS -a $checkOut = '0' ; then      reUse=1 ; if [ $checkOut -ge 2 ] ; then reUse=0 ; fi
143        if test -d $new_dir/CVS -a $reUse = 1 ; then
144        pushd $new_dir        pushd $new_dir
145        if test $tt != $typ ; then        if test $tt != $typ ; then
146          ( cd verification ; ../tools/do_tst_2+2 -clean )          ( cd verification ; ../tools/do_tst_2+2 -clean )
147        fi        fi
148        echo -n "Update the MITgcm code using: $cmdCVS ..."        if test $checkOut = 1 ; then
149        $cmdCVS update -P -d          echo -n "Update the MITgcm code using: $cmdCVS ..."
150        echo "  done"          $cmdCVS update -P -d
151            echo "  done"
152          fi
153      else      else
154          if test -d prev ; then
155          #-- save previous summary:
156            oldS=`ls -t ${new_dir}/verification/tr_${outDir}_*/summary.txt 2> /dev/null | head -1`
157            if test "x$oldS" != x ; then cp -p -f $oldS prev/tr_out.$typ ; fi
158           if test $tt != $typ ; then
159            oldS=`ls -t ${new_dir}/verification/rs_${outDir}_*/summary.txt 2> /dev/null | head -1`
160            if test "x$oldS" != x ; then cp -p -f $oldS prev/rs_out.$typ ; fi
161           fi
162          fi
163        test -e $new_dir  &&  rm -rf $new_dir        test -e $new_dir  &&  rm -rf $new_dir
164        mkdir $new_dir        mkdir $new_dir
165        pushd $new_dir        pushd $new_dir
166        cp -ra ../MITgcm/* .        cp -ra ../MITgcm/* .
167          #-- download additional experience from Contrib:
168          for exp2add in $addExp ; do
169            echo " add dir: $exp2add (from Contrib:verification_other)"
170            ( cd verification ;  $cmdCVS co -P -d $exp2add \
171                 MITgcm_contrib/verification_other/$exp2add > /dev/null )
172            if test $exp2add = 'global_oce_cs32' ; then
173              echo " link dir 'other_input/gael_oce_cs32_input' to 'input_fields'"
174              ( cd verification/${exp2add}
175                ln -s ../../../other_input/gael_oce_cs32_input input_fields )
176              echo " link dir 'other_input/core2_cnyf' in here"
177              ( cd verification/${exp2add}
178                ln -s ../../../other_input/core2_cnyf . )
179            fi
180            if test $exp2add = 'shelfice_remeshing' ; then
181              echo " link dir 'other_input/remeshing_code' to 'extra_code'"
182              ( cd verification/${exp2add}
183                ln -s ../../../other_input/remeshing_code extra_code )
184            fi
185          done
186      fi      fi
187    else    else
188      pushd MITgcm      pushd MITgcm
# Line 119  do Line 193  do
193    comm="./testreport"    comm="./testreport"
194    if test $typ = 'g7a' -o  $typ = 'adm' -o  $typ = 'mpa' ; then    if test $typ = 'g7a' -o  $typ = 'adm' -o  $typ = 'mpa' ; then
195      comm="$comm -adm"      comm="$comm -adm"
196      elif test $typ = 'oad' ; then
197        comm="$comm -oad"
198    elif test $typ = 'tlm' ; then    elif test $typ = 'tlm' ; then
199      comm="$comm -tlm"      comm="$comm -tlm"
200    elif test $typ = 'mth' -o  $typ = 'mp2' ; then    elif test $typ = 'mth' -o  $typ = 'mp2' ; then
# Line 128  do Line 204  do
204    else    else
205      comm="$comm -md cyrus-makedepend"      comm="$comm -md cyrus-makedepend"
206    fi    fi
207    comm="$comm -a jmc@mitgcm.org"    comm="$comm -odir $outDir -a jmc@mitgcm.org"
208  #-- set the optfile (+ mpi & match-precision)  #-- set the optfile (+ mpi & match-precision)
209    MPI=0    MPI=0
210    case $typ in    case $typ in
211     'g77'|'g7a')         OPTFILE='../tools/build_options/linux_amd64_g77' ;;     'g77'|'g7a')         OPTFILE='../tools/build_options/linux_amd64_g77' ;;
212     'gfo'|'adm'|'tlm'|'mth') comm="$comm -match $MC -devel"     'gfo'|'adm'|'oad'|'tlm'|'mth') comm="$comm -match $MC -devel"
213                          OPTFILE='../tools/build_options/linux_amd64_gfortran' ;;                          OPTFILE='../tools/build_options/linux_amd64_gfortran' ;;
214     'ifc')               OPTFILE='../tools/build_options/linux_amd64_ifort11' ;;     'ifc')               comm="$comm -devel"
215                            OPTFILE='../tools/build_options/linux_amd64_ifort11' ;;
216     'pgi')               OPTFILE='../tools/build_options/linux_amd64_pgf77' ;;     'pgi')               OPTFILE='../tools/build_options/linux_amd64_pgf77' ;;
217     'mpa'|'mpi'|'mp2')   comm="$comm -match $MC -devel" ; MPI=6     'mpa'|'mpi'|'mp2')   comm="$comm -match $MC -devel" ; MPI=6
218                          OPTFILE='../tools/build_options/linux_amd64_gfortran' ;;                          OPTFILE='../tools/build_options/linux_amd64_gfortran' ;;
# Line 152  do Line 229  do
229    fi    fi
230    
231  #-- set specific Env Vars:  #-- set specific Env Vars:
232      if test $typ = 'oad' ; then
233        source ~jmc/mitgcm/bin/setenv_OpenAD.sh
234      fi
235    if test $typ = 'ifc' ; then    if test $typ = 'ifc' ; then
236      source /srv/software/intel/intel-11.1.073/bin/ifortvars.sh intel64      source /srv/software/intel/intel-11.1.073/bin/ifortvars.sh intel64
237    fi    fi
# Line 162  do Line 242  do
242      export LM_LICENSE_FILE=$PGI/license.dat      export LM_LICENSE_FILE=$PGI/license.dat
243    fi    fi
244    
245    if test $sepDir = 0 -a $checkOut = '0' -a  $tt = $firstTst ; then    if test $sepDir = 0 -a "x$option" = x -a $tt = $firstTst -a $checkOut != 2 ; then
246  #-- cleaning:  #-- cleaning:
247      echo "======================"      echo "======================"
248      echo "Cleaning test directories:"   | tee -a $tdir/output_$tt      echo "Cleaning test directories:"   | tee -a $tdir/output_$tt
# Line 194  do Line 274  do
274    if test $tt != $typ    if test $tt != $typ
275    then    then
276      echo "testing restart using:"       | tee -a $tdir/output_$tt      echo "testing restart using:"       | tee -a $tdir/output_$tt
277      comm="../tools/do_tst_2+2 -a jmc@mitgcm.org"      comm="../tools/do_tst_2+2 -o $outDir -a jmc@mitgcm.org"
278      if test $MPI = 0 ; then      if test $MPI = 0 ; then
279        echo "  \"$comm\""                | tee -a $tdir/output_$tt        echo "  \"$comm\""                | tee -a $tdir/output_$tt
280        echo "======================"        echo "======================"

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.30

  ViewVC Help
Powered by ViewVC 1.1.22