/[MITgcm]/MITgcm_contrib/test_scripts/svante/test_submit_svante
ViewVC logotype

Diff of /MITgcm_contrib/test_scripts/svante/test_submit_svante

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

revision 1.16 by jmc, Sun Feb 4 21:03:20 2018 UTC revision 1.20 by jmc, Fri Feb 9 22:43:36 2018 UTC
# Line 23  dNam='svante' Line 23  dNam='svante'
23  HERE="$HOME/test_${dNam}"  HERE="$HOME/test_${dNam}"
24  TST_DISK="/net/fs09/d1/jm_c"  TST_DISK="/net/fs09/d1/jm_c"
25  TST_DIR="$TST_DISK/test_${dNam}"  TST_DIR="$TST_DISK/test_${dNam}"
26    tmpFil="/tmp/"`basename $0`".$$"
27  #- where local copy of code is (need to be consistent with run-job scripts):  #- where local copy of code is (need to be consistent with run-job scripts):
28  #srcDIR=$HERE  #srcDIR=$TST_DIR
29  srcDIR=$TST_DIR  srcDIR=$HERE
30  srcCode="MITgcm_today"  srcCode="MITgcm_today"
31    
32  logPfix='test_submit'  logPfix='test_submit'
# Line 66  module add slurm Line 67  module add slurm
67  module list                                             >> $LOG_FIL 2>&1  module list                                             >> $LOG_FIL 2>&1
68    
69  #- method to acces CVS:  #- method to acces CVS:
70  cmdCVS='cvs -d :pserver:cvsanon@mitgcm.org:/u/gcmpack -q'    cmdCVS='cvs -d :pserver:cvsanon@mitgcm.org:/u/gcmpack -q'
71    #- and which GitHub repository to use:
72      git_repo='MITgcm';  git_code='MITgcm'
73     #git_repo='altMITgcm'; #git_code='MITgcm66h'
74    
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  
 #-- Download/Update reference version of MITgcm code:  
75  checkOut=1  checkOut=1
76  exp2add=''  addExp=''
77  updFile='updated_code'  updFile='updated_code'
78    
79  if test $srcDIR = $TST_DIR ; then  #---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
80    echo "cd $TST_DISK ; pwd (x2)" | tee -a $LOG_FIL  if [ $checkOut -ge 1 ] ; then
81    cd $TST_DISK  | tee -a $LOG_FIL 2>&1  #-- Download/Update reference version of MITgcm code:
   pwd           | tee -a $LOG_FIL  
 fi  
 if test ! -d $srcDIR ; then  
    echo -n "Creating a working dir: $srcDIR ..."        | tee -a $LOG_FIL  
   #/bin/rm -rf $srcDIR  
    mkdir $srcDIR  
    retVal=$?  
    if test "x$retVal" != x0 ; then  
       echo "Error: unable to make dir: $srcDIR (err=$retVal ) --> Exit" | tee -a $LOG_FIL  
       exit 1  
    fi  
 fi  
 cd $srcDIR  
 pwd             | tee -a $LOG_FIL  
82    
83  #- remove date/lock-file:    if test $srcDIR = $TST_DIR ; then
84  if test -f $updFile ; then rm -f $updFile ; sleep 2 ; fi      echo "cd $TST_DISK ; pwd (x2)" | tee -a $LOG_FIL
85        cd $TST_DISK        | tee -a $LOG_FIL 2>&1
86        pwd                 | tee -a $LOG_FIL
87      fi
88      if test ! -d $srcDIR ; then
89         echo -n "Creating a working dir: $srcDIR ..."      | tee -a $LOG_FIL
90        #/bin/rm -rf $srcDIR
91         mkdir $srcDIR
92         retVal=$?
93         if test "x$retVal" != x0 ; then
94           echo "Error: unable to make dir: $srcDIR (err=$retVal ) --> Exit" | tee -a $LOG_FIL
95           exit 1
96         fi
97      fi
98      cd $srcDIR
99      pwd           | tee -a $LOG_FIL
100    
101  if [ $checkOut -eq 1 ] ; then    #- remove date/lock-file and old copy:
102    if test -d $srcCode/CVS ; then    if test -f $updFile ; then rm -f $updFile ; sleep 2 ; fi
103      echo -n "Update dir $srcCode using '$cmdCVS update -P -d' ..." | tee -a $LOG_FIL    test -e $srcCode && rm -rf $srcCode
104      echo '' >> $LOG_FIL  
105      ( cd $srcCode ; $cmdCVS update -P -d )              >> $LOG_FIL 2>&1    if [ $checkOut -eq 1 ] ; then
106      RETVAL=$?      if test -e $git_code/.git/config ; then
107      if test "x$RETVAL" != x0 ; then echo ''        ( cd $git_code ; git checkout master )                    | tee -a $LOG_FIL
108         echo "cvs update on '"`hostname`"' fail (return val=$RETVAL) => exit" | tee -a $LOG_FIL        echo -n "Updating current clone ( $git_code ) ..."        | tee -a $LOG_FIL
109         exit        echo '' >> $LOG_FIL
110      else echo "  done"                                  | tee -a $LOG_FIL        ( cd $git_code ; git pull )                               >> $LOG_FIL 2>&1
111          retVal=$?
112          if test "x$retVal" != x0 ; then echo ''
113             echo "'git pull' on '"`hostname`"' fail (return val=$retVal) => exit" | tee -a $LOG_FIL
114             exit
115          else echo "  done"                                        | tee -a $LOG_FIL
116          fi
117        else
118          echo "missing file: $git_code/.git/config => try a new clone"     | tee -a $LOG_FIL
119          checkOut=2
120      fi      fi
  else  
     echo "no dir: $srcCode/CVS => try a fresh check-out"        | tee -a $LOG_FIL  
     checkOut=2  
121    fi    fi
122  fi    if [ $checkOut -eq 2 ] ; then
123  if [ $checkOut -eq 2 ] ; then      if test -e $git_code ; then
124      test -e $srcCode && rm -rf $srcCode         echo -n " removing dir: $git_code ..."           | tee -a $LOG_FIL
125      echo -n "Downloading using '$cmdCVS co -P -d $srcCode MITgcm' ..."  | tee -a $LOG_FIL         rm -rf $git_code
126      $cmdCVS co -P -d $srcCode MITgcm > /dev/null         echo "  done"                                    | tee -a $LOG_FIL
     RETVAL=$?  
     if test "x$RETVAL" != x0 ; then echo ''             | tee -a $LOG_FIL  
       echo "cvs co on '"`hostname`"' fail (return val=$RETVAL) => exit" | tee -a $LOG_FIL  
       exit  
     else echo "  done"                                  | tee -a $LOG_FIL  
127      fi      fi
128      if test -d $srcCode/verification ; then      echo -n "Make a clone of $git_code from repo: $git_repo ..."        | tee -a $LOG_FIL
129        for exp2add in $addExp ; do      git clone https://github.com/$git_repo/${git_code}.git 2> $tmpFil
130          echo " add dir: $exp2add (from Contrib:verification_other)" | tee -a $LOG_FIL      retVal=$?
131          ( cd $srcCode/verification ; $cmdCVS co -P -d $exp2add \      if test $retVal = 0 ; then
132                         MITgcm_contrib/verification_other/$exp2add > /dev/null )         echo ' --> done!'                                | tee -a $LOG_FIL
133        done         rm -f $tmpFil
134        else echo ''                                        | tee -a $LOG_FIL
135           echo " Error: 'git clone' returned: $retVal"     | tee -a $LOG_FIL
136           cat $tmpFil ; rm -f $tmpFil
137           exit 2
138      fi      fi
139      /usr/bin/find $srcCode -type d | xargs chmod g+rxs    fi
140      /usr/bin/find $srcCode -type f | xargs chmod g+r    #---- making a new working copy: MITgcm_today
141  fi    rsync -a $git_code/ $srcCode --exclude '.git'
142      ls -ld $srcCode                                       | tee -a $LOG_FIL
143      if test -d $srcCode/verification ; then
144        for exp2add in $addExp ; do
145          echo " add dir: $exp2add (from Contrib:verification_other)" | tee -a $LOG_FIL
146          ( cd $srcCode/verification ; $cmdCVS co -P -d $exp2add \
147                        MITgcm_contrib/verification_other/$exp2add > /dev/null )
148        done
149      fi
150      /usr/bin/find $srcCode -type d | xargs chmod g+rxs
151      /usr/bin/find $srcCode -type f | xargs chmod g+r
152      #- update date/lock-file:
153      if test -d $srcCode/verification ; then
154        echo $today > $updFile ; sleep 2
155        ls -l $updFile                                      | tee -a $LOG_FIL
156        echo ''                                             | tee -a $LOG_FIL
157      fi
158    
159  #- update date/lock-file:  #-- Done with Download/Update of MITgcm code
 if test -d $srcCode/verification ; then  
   echo $today > $updFile ; sleep 2  
   ls -l $updFile                                        | tee -a $LOG_FIL  
160  fi  fi
161    #---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
162    
163  #-- leave TST Dir and go back to output dir  #-- leave srcDIR and go back to output dir
164  cd $OUT_DIR  cd $OUT_DIR
 #---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  
165  #-- now really do something:  #-- now really do something:
166    
167    JOB_LIST=$TEST_LIST    JOB_LIST=$TEST_LIST
# Line 182  cd $OUT_DIR Line 203  cd $OUT_DIR
203            echo -n "--> $JOB : "                         | tee -a $LOG_FIL            echo -n "--> $JOB : "                         | tee -a $LOG_FIL
204            $QSUB $SUB_DIR/$BATCH_SCRIPT                  | tee -a $LOG_FIL            $QSUB $SUB_DIR/$BATCH_SCRIPT                  | tee -a $LOG_FIL
205            NB_SUB_JOBS=`expr $NB_SUB_JOBS + 1`            NB_SUB_JOBS=`expr $NB_SUB_JOBS + 1`
206              sleep 1
207        else        else
208            echo "--> $JOB :"                             | tee -a $LOG_FIL            echo "--> $JOB :"                             | tee -a $LOG_FIL
209            #$QSTAT | grep $JOB                           | tee -a $LOG_FIL            #$QSTAT | grep $JOB                           | tee -a $LOG_FIL

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

  ViewVC Help
Powered by ViewVC 1.1.22