/[MITgcm]/MITgcm_contrib/test_scripts/ref_machine/test_villon
ViewVC logotype

Diff of /MITgcm_contrib/test_scripts/ref_machine/test_villon

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

revision 1.1 by jmc, Fri Feb 2 14:35:57 2018 UTC revision 1.16 by jmc, Mon Dec 23 18:57:47 2019 UTC
# Line 18  export LC_ALL="en_US.UTF-8" Line 18  export LC_ALL="en_US.UTF-8"
18  #  Turn off stack limit for FIZHI & AD-tests  #  Turn off stack limit for FIZHI & AD-tests
19  ulimit -s unlimited  ulimit -s unlimited
20  #  MPI test (for now, only with gfortran)  #  MPI test (for now, only with gfortran)
21    source $HOME/bin/openmpi.sh  # source $HOME/bin/openmpi.sh
22    
23  #- method to acces CVS:  #- method to access CVS:
24  # cmdCVS='cvs -d :pserver:cvsanon@mitgcm.org:/u/gcmpack'    cmdCVS='cvs -d :pserver:cvsanon@mitgcm.org:/u/gcmpack'
25  # cmdCVS='cvs -d /u/gcmpack'  # cmdCVS='cvs -d /u/gcmpack'
26    export CVS_RSH=ssh  # export CVS_RSH=ssh
27    cmdCVS='cvs -q -d :ext:jmc@mitgcm.org:/u/gcmpack'  # cmdCVS='cvs -q -d :ext:jmc@mitgcm.org:/u/gcmpack'
28    
29  #- and which GitHub repository to use:  #- which GitHub repository to use and how to access it:
30    git_repo='MITgcm';  git_code='MITgcm'    git_repo='MITgcm';  git_code='MITgcm' ; git_other='verification_other'
31   #git_repo='altMITgcm'; #git_code='MITgcm66h'   #git_repo='altMITgcm'; #git_code='MITgcm66h'
32    #--
33      git_repo="https://github.com/$git_repo"
34     #git_repo="git://github.com/$git_repo"
35     #git_repo="git@github.com:$git_repo"
36    
37    #-------------------------------------------------------------------
38  # checkOut=3 : clone from GitHub and make a new copy (if sepDir)  # checkOut=3 : clone from GitHub and make a new copy (if sepDir)
39  #   =2 : update (git pull) repo  and make a new copy code  (switch to 2 if no repo)  #   =2 : update (git pull) repo  and make a new copy code  (switch to 3 if no repo)
40  #   =1 : skip update             but use a new copy  (if sepDir)  #   =1 : skip update             but use a new copy  (if sepDir)
41  #   =0 : use existing test code ( switch to 1 if missing test code )  #   =0 : use existing test code ( switch to 1 if missing test code )
42  dInWeek=`date +%a`  dInWeek=`date +%a`
43    
44  dNam=`hostname -s | tr '[:upper:]' '[:lower:]'`  dNam=`hostname -s | tr '[:upper:]' '[:lower:]'`
45   TESTDIR="$HOME/test_${dNam}"   TESTDIR="$HOME/test_${dNam}"
  outDir=$dNam  
  MC=11  
46  #TESTDIR="/scratch/jmc/test_${dNam}"  #TESTDIR="/scratch/jmc/test_${dNam}"
47  #outDir="${dNam}-${tst_grp}"   MC=13 ; outDir="${dNam}-${tst_grp}"
48  #MC=13  #MC=11 ;#outDir=$dNam
49  sepDir=1  sepDir=1
50  option=  option=
51    
52  if test $tst_grp = 'a' ; then  if test $tst_grp = 'a' ; then
53   checkOut=2   checkOut=2
54  #tst_list='g7a mpa mth mp2+rs mpi oad'   tst_list='mpa mpi mp2+rs mth'
  tst_list='mpa adm mpi gfo+rs mth+rs'  
  tst_list="$tst_list oad"  
55  else  else
56   checkOut=1   checkOut=1
57   tst_list='adm g77 gfo+rs ifc'   tst_list='adm tlm gfo+rs'
58   if test "x$dInWeek" = xSun ; then tst_list="$tst_list tlm" ; fi  #tst_list="$tst_list oad"
59    #if test "x$dInWeek" = xSun ; then tst_list="$tst_list tlm" ; fi
60  fi  fi
61  echo " test: $outDir ; list='$tst_list'"  echo " test: $outDir ; list='$tst_list'"
62    
# Line 91  if [ $checkOut -ge 2 ] ; then Line 93  if [ $checkOut -ge 2 ] ; then
93    cd $tdir    cd $tdir
94    
95    #---- Making a new clone or updating existing one:    #---- Making a new clone or updating existing one:
96    if test -e MITgcm/.git/config ; then    if [ $checkOut -eq 2 ] ; then
97      echo MITgcm/.git/config 'exist'      if test -e $git_code/.git/config ; then
98    else         echo $git_code/.git/config 'exist'
99      echo -n MITgcm/.git/config 'missing ; '      else
100      checkOut=3         echo -n $git_code/.git/config 'missing ; '
101      echo "will get new clone ( checkOut=$checkOut )"         checkOut=3
102           echo "will get new clone ( checkOut=$checkOut )"
103        fi
104        if test -e $git_other/.git/config ; then
105           echo $git_other/.git/config 'exist'
106        else
107           echo -n $git_other/.git/config 'missing ; '
108           checkOut=3
109           echo "will get new clone ( checkOut=$checkOut )"
110        fi
111    fi    fi
112    if [ $checkOut -eq 3 ] ; then    if [ $checkOut -eq 3 ] ; then
113      echo -n "Make a clone of $git_code from repo: $git_repo ..."      test -e $git_code && rm -rf $git_code
114      git clone https://github.com/$git_repo/${git_code}.git 2> $tmpFil      echo "Make a clone of $git_code from repo: $git_repo ..."
115        git clone $git_repo/${git_code}.git 2> $tmpFil
116        retVal=$?
117        if test $retVal = 0 ; then
118           echo ' --> done!'
119           rm -f $tmpFil
120        else
121           echo " Error: 'git clone' returned: $retVal"
122           cat $tmpFil
123           rm -f $tmpFil
124           exit 2
125        fi
126        test -e $git_other && rm -rf $git_other
127        echo "Make a clone of $git_other from repo: $git_repo ..."
128        git clone $git_repo/${git_other}.git 2> $tmpFil
129      retVal=$?      retVal=$?
130      if test $retVal = 0 ; then      if test $retVal = 0 ; then
131         echo ' --> done!'         echo ' --> done!'
# Line 114  if [ $checkOut -ge 2 ] ; then Line 139  if [ $checkOut -ge 2 ] ; then
139    else    else
140      echo "Updating current clone ( $git_code ) ..."      echo "Updating current clone ( $git_code ) ..."
141      ( cd $git_code ; git pull )      ( cd $git_code ; git pull )
142      echo ' --> done!'      retVal=$?
143        if test $retVal = 0 ; then
144           echo ' --> done!'
145        else
146           echo "git pull on '"`hostname`"' fail (return val=$retVal) => exit"
147           exit 3
148        fi
149        ( cd $git_code ; git checkout master -- . )
150        echo "Updating current clone ( $git_other ) ..."
151        ( cd $git_other ; git pull )
152        retVal=$?
153        if test $retVal = 0 ; then
154           echo ' --> done!'
155        else
156           echo "git pull on '"`hostname`"' fail (return val=$retVal) => exit"
157           exit 3
158        fi
159        ( cd $git_other ; git checkout master -- . )
160    fi    fi
   
161    #---- making a new working copy: MITgcm_today    #---- making a new working copy: MITgcm_today
   ( cd $git_code ; git checkout master )  
    # mkdir MITgcm_today  
    # cp -p -ra $git_code/* MITgcm_today  
162    rsync -a $git_code/ MITgcm_today --exclude '.git'    rsync -a $git_code/ MITgcm_today --exclude '.git'
163      if test $sepDir = 0 ; then
164        echo -n " make a local copy of $git_other in MITgcm_today ..."      | tee -a $tdir/output_$tt
165        ( cd MITgcm_today
166          rsync -a ../$git_other/ $git_other --exclude '.git' )
167        echo " done"                                | tee -a $tdir/output_$tt
168      fi
169    #---- updating "other_input" dir    #---- updating "other_input" dir
170    if test -d other_input ; then    if test -d other_input ; then
171      list_dirs=`(cd other_input ; ls 2> /dev/null )`      list_dirs=`(cd other_input ; ls 2> /dev/null )`
# Line 151  do Line 195  do
195    #- define list of additional experiences to test:    #- define list of additional experiences to test:
196    addExp=''    addExp=''
197    if test $typ = 'mpi' ; then    if test $typ = 'mpi' ; then
198      addExp="offline_cheapaml atm_gray"      addExp="offline_cheapaml atm_gray atm_strato"
199        addExp="$addExp global_oce_cs32"
200        addExp="$addExp global_oce_llc90"
201    fi    fi
202    if test $typ = 'gfo' -o $typ = 'ifc' ; then    if test $typ = 'gfo' -o $typ = 'ifc' ; then
     addExp="$addExp global_oce_biogeo_bling"  
203      addExp="$addExp shelfice_remeshing"      addExp="$addExp shelfice_remeshing"
204    fi    fi
205    if test $typ = 'mpi' ; then    if test $typ = 'gfo' ; then
206      addExp="$addExp global_ocean.gm_k3d"      addExp="$addExp global_ocean.gm_k3d"
207      addExp="$addExp global_oce_cs32"      addExp="$addExp global_ocean.gm_res"
208    fi    fi
209    #- check day and time:    #- check day and time:
210    curDay=`date +%d` ; curHour=`date +%H`    curDay=`date +%d` ; curHour=`date +%H`
# Line 188  do Line 233  do
233    if test $sepDir = 1 ; then    if test $sepDir = 1 ; then
234      new_dir="MITgcm_$typ"      new_dir="MITgcm_$typ"
235      reUse=0 ; if [ $checkOut -le 0 ] ; then reUse=1 ; fi      reUse=0 ; if [ $checkOut -le 0 ] ; then reUse=1 ; fi
236      if test -d $new_dir/CVS -a $reUse = 1 ; then      if test -d $new_dir/doc -a $reUse = 1 ; then
237        cd $tdir/$new_dir        cd $tdir/$new_dir
238        if test $tt != $typ ; then        if test $tt != $typ ; then
239          ( cd verification ; ../tools/do_tst_2+2 -clean )          ( cd verification ; ../tools/do_tst_2+2 -clean )
# Line 247  do Line 292  do
292          echo " missing dir verification --> end test $tt"       | tee -a $tdir/output_$tt          echo " missing dir verification --> end test $tt"       | tee -a $tdir/output_$tt
293          continue          continue
294        fi        fi
295        #-- download additional experience from Contrib:        if test "x$addExp" != x ; then
296            echo -n " make a local copy of $git_other ..."  | tee -a $tdir/output_$tt
297            rsync -a $tdir/$git_other/ $git_other --exclude '.git'
298            echo " done"                            | tee -a $tdir/output_$tt
299          fi
300          #-- add additional experience from $git_other
301        for exp2add in $addExp ; do        for exp2add in $addExp ; do
302          echo " add dir: $exp2add (from Contrib:verification_other)"     | tee -a $tdir/output_$tt          echo "  add link: $exp2add (from $git_other )"  | tee -a $tdir/output_$tt
303          ( cd verification ;  $cmdCVS co -P -d $exp2add \          ( cd verification ;  ln -s ../$git_other/$exp2add . )
              MITgcm_contrib/verification_other/$exp2add > /dev/null )  
304          if test $exp2add = 'global_oce_cs32' ; then          if test $exp2add = 'global_oce_cs32' ; then
305            echo " link dir 'other_input/core2_cnyf' in here"             | tee -a $tdir/output_$tt            echo "      link dir 'other_input/core2_cnyf' in here"        | tee -a $tdir/output_$tt
306            ( cd verification/${exp2add}            ( cd ${git_other}/${exp2add}
307              ln -s ../../../other_input/core2_cnyf . )              ln -s ../../../other_input/core2_cnyf . )
308          fi          fi
309          if test $exp2add = 'shelfice_remeshing' ; then          if test $exp2add = 'global_oce_llc90' ; then
310            echo " link dir 'other_input/remeshing_code' to 'extra_code'" | tee -a $tdir/output_$tt            echo "      link dir 'other_input/gael_oce_llc90_input' to 'input_fields'" \
311            ( cd verification/${exp2add}                                                                          | tee -a $tdir/output_$tt
312              ln -s ../../../other_input/remeshing_code extra_code )            ( cd ${git_other}/${exp2add}
313                test -L input_fields && /bin/rm -f input_fields
314                ln -s  ../../../other_input/gael_oce_llc90_input input_fields
315              echo "      link dirs: 'core2_cnyf' & 'global_oce_input_fields/*' in input_verifs" \
316                                                                            | tee -a $tdir/output_$tt
317                test ! -e input_verifs && mkdir input_verifs
318                ( cd input_verifs ; /bin/rm -f *
319                  ln -s ../../../../other_input/core2_cnyf .
320                  ln -s ../../../../other_input/global_oce_input_fields/* . )
321              )
322          fi          fi
323           #if test $exp2add = 'shelfice_remeshing' ; then
324           #  echo " link dir 'other_input/remeshing_code' to 'extra_code'" | tee -a $tdir/output_$tt
325           #  ( cd ${git_other}/${exp2add}
326           #    ln -s ../../../other_input/remeshing_code extra_code )
327           #fi
328        done        done
329      fi      fi
330    else    else
# Line 289  do Line 352  do
352    MPI=0    MPI=0
353    case $typ in    case $typ in
354     'g77'|'g7a')         OPTFILE='../tools/build_options/linux_amd64_g77' ;;     'g77'|'g7a')         OPTFILE='../tools/build_options/linux_amd64_g77' ;;
355     'gfo'|'adm'|'oad'|'tlm'|'mth') comm="$comm -match $MC -devel"     'gfo'|'adm'|'oad'|'tlm'|'mth') comm="$comm -devel"
356                            comm="$comm -match $MC"
357                          OPTFILE='../tools/build_options/linux_amd64_gfortran' ;;                          OPTFILE='../tools/build_options/linux_amd64_gfortran' ;;
358     'ifc')               comm="$comm -devel"     'ifc')               comm="$comm -devel"
359                          OPTFILE='../tools/build_options/linux_amd64_ifort11' ;;                          OPTFILE='../tools/build_options/linux_amd64_ifort11' ;;
360     'pgi')               OPTFILE='../tools/build_options/linux_amd64_pgf77' ;;     'pgi')               OPTFILE='../tools/build_options/linux_amd64_pgf77' ;;
361     'mpa'|'mpi'|'mp2')   comm="$comm -match $MC -devel" ; MPI=8     'mpa'|'mpi'|'mp2')   comm="$comm -devel" ; MPI=8
362                            comm="$comm -match $MC"
363                          OPTFILE='../tools/build_options/linux_amd64_gfortran' ;;                          OPTFILE='../tools/build_options/linux_amd64_gfortran' ;;
364         *)               OPTFILE= ;;         *)               OPTFILE= ;;
365    esac    esac

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.22