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

Contents of /MITgcm/tools/example_scripts/csail/test_baudelaire

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


Revision 1.7 - (show annotations) (download)
Mon Jan 24 14:30:36 2011 UTC (13 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62r
Changes since 1.6: +42 -44 lines
minor editing changes

1 #! /usr/bin/env bash
2
3 # $Header: /u/gcmpack/MITgcm/tools/example_scripts/csail/test_baudelaire,v 1.6 2011/01/19 23:48:14 jmc Exp $
4
5 # Test script for MITgcm that should work on most of the csail.mit.edu
6 # Linux machines.
7
8 # defaults
9 #export PATH="$PATH:/usr/local/bin"
10 if [ -d ~/bin ]; then export PATH=$PATH:~/bin ; fi
11 #- to get case insensitive "ls" (and order of tested experiments)
12 export LC_ALL="en_US.UTF-8"
13 # Turn off stack limit for FIZHI & AD-tests
14 ulimit -s unlimited
15 # MPI test (for now, only with gfortran)
16 export MPI_GCC_DIR=/srv/software/gcc/gcc-packages/gcc-4.4.5/mpich2/mpich2-1.3
17 export MPI_INC_DIR=$MPI_GCC_DIR/include
18 export PATH="$PATH:$MPI_GCC_DIR/bin"
19
20 #- method to acces CVS:
21 # export CVSROOT='/u/gcmpack'
22 # export CVSROOT=':ext:@mitgcm.org:/u/gcmpack'
23 # export CVS_RSH='ssh' ; cvs co -P MITgcm > /dev/null
24 # cvs -d :pserver:cvsanon@mitgcm.org:/u/gcmpack co -P MITgcm > /dev/null
25 cmdCVS='cvs -d :pserver:cvsanon@mitgcm.org:/u/gcmpack'
26 cmdCVS='cvs -d /u/gcmpack'
27
28 TESTDIR="/scratch/jmc/test_"`hostname -s`
29 MC=13
30 checkOut=1
31 sepDir=1
32 option=
33 tst_list='g7a adm mpa g77 gfo+rs mth mp2+rs mpi ifc'
34 #tst_list='g77 adm gfo ifc mth pgi+rs'
35 #tst_list='g77 gfo+rs mth'
36
37 #option="-nc" ; checkOut=0
38 #option="-q" ; checkOut=0
39
40 TODAY=`date +%d`
41 tdir=$TESTDIR
42 if test $checkOut = '0' ; then
43 if test -e $tdir/MITgcm/CVS ; then
44 echo $tdir/MITgcm/CVS 'exist'
45 echo -n "Update the MITgcm code using: $cmdCVS ..."
46 cd $tdir/MITgcm
47 if test $sepDir = 1 ; then
48 $cmdCVS update -P -d > /dev/null
49 else
50 $cmdCVS update -P -d
51 fi
52 echo " done"
53 else
54 echo -n $tdir/MITgcm 'missing ; '
55 checkOut=1
56 fi
57 fi
58 if test $checkOut = '1' ; then
59 if test -e $tdir ; then
60 echo -n "Removing working copy: $tdir/MITgcm ..."
61 test -e $tdir/MITgcm && rm -rf $tdir/MITgcm
62 else
63 echo -n "Creating a working dir: $tdir ..."
64 mkdir $tdir
65 fi
66 echo " done"
67 echo -n "Downloading the MITgcm code using: $cmdCVS ..."
68 cd $tdir
69 $cmdCVS co -P MITgcm > /dev/null
70 echo " done"
71 else
72 cd $tdir
73 fi
74
75 #------------------------------------------------------------------------
76
77 firstTst=`echo $tst_list | awk '{print $1}'`
78 last_Tst=`echo $tst_list | awk '{print $NF}'`
79 for tt in $tst_list
80 do
81
82 echo "================================================================"
83 typ=`echo $tt | sed 's/+rs//'`
84 #- check day and time:
85 curDay=`date +%d` ; curHour=`date +%H`
86 if [ $curDay -ne $TODAY ] ; then
87 date ; echo "day is over => skip test $typ"
88 continue
89 fi
90 if [ $curHour -ge 18 ] ; then
91 date ; echo "too late to run test $typ"
92 continue
93 fi
94 #- clean-up old output files
95 rm -f $tdir/output_${typ}*
96 if test $sepDir = 1 ; then
97 new_dir="MITgcm_$typ"
98 if test -d $new_dir/CVS -a $checkOut = '0' ; then
99 pushd $new_dir
100 echo -n "Update the MITgcm code using: $cmdCVS ..."
101 $cmdCVS update -P -d
102 echo " done"
103 else
104 test -e $new_dir && rm -rf $new_dir
105 mkdir $new_dir
106 pushd $new_dir
107 cp -ra ../MITgcm/* .
108 fi
109 else
110 pushd MITgcm
111 fi
112 cd verification
113
114 #-- set the testreport command:
115 nbl='-100'
116 comm="./testreport"
117 if test $typ = 'g7a' -o $typ = 'adm' -o $typ = 'mpa' ; then
118 nbl='-60'
119 comm="$comm -adm"
120 elif test $typ = 'mth' -o $typ = 'mp2' ; then
121 export GOMP_STACKSIZE=400m
122 export OMP_NUM_THREADS=2
123 comm="$comm -mth"
124 fi
125 comm="$comm -a jmc@mitgcm.org"
126 #-- set the optfile (+ mpi & match-precision)
127 MPI=0
128 case $typ in
129 'g77'|'g7a') OPTFILE='../tools/build_options/linux_amd64_g77' ;;
130 'gfo'|'adm'|'mth') OPTFILE='../tools/build_options/linux_amd64_gfortran'
131 comm="$comm -match $MC" ;;
132 'ifc') OPTFILE='../tools/build_options/linux_amd64_ifort11' ;;
133 'pgi') OPTFILE='../tools/build_options/linux_amd64_pgf77' ;;
134 'mpa'|'mpi'|'mp2') OPTFILE='../tools/build_options/linux_amd64_gfortran+mpi_generic'
135 comm="$comm -match $MC" ; MPI=1 ;;
136 *) OPTFILE= ;;
137 esac
138 #-- set MPI command:
139 if test $MPI = 1 ; then
140 if test $typ = 'mpa' ; then
141 EXE="mpirun -np TR_NPROC ./mitgcmuv_ad"
142 else
143 EXE="mpirun -np TR_NPROC ./mitgcmuv"
144 fi
145 fi
146
147 #-- set specific Env Vars:
148 if test $typ = 'ifc' ; then
149 source /srv/software/intel/intel-11.1.073/bin/ifortvars.sh intel64
150 fi
151 if test $typ = 'pgi' ; then
152 export PGI=/srv/software/pgi/pgi-10.9
153 export PATH="$PATH:$PGI/linux86-64/10.9/bin"
154 export LM_LICENSE_FILE=$PGI/license.dat
155 fi
156
157 if test $sepDir = 0 -a $checkOut = '1' -a $tt = $firstTst ; then
158 #-- cleaning:
159 echo "======================"
160 echo "Cleaning test directories:"
161 cmdCLN="./testreport -clean"
162 echo " clean dir running: $cmdCLN"
163 $cmdCLN > /dev/null 2>&1
164 echo "======================"
165 echo
166 fi
167
168 #-- run the testreport command:
169 echo -n "Running testreport using:"
170 if test "x$OPTFILE" != x ; then
171 comm="$comm -of=$OPTFILE"
172 fi
173 if test $MPI = 1 ; then echo " (EXE='$EXE')"
174 comm="$comm -MPI 6 -command \"\$EXE\""
175 else echo '' ; fi
176 if test "x$option" != x ; then comm="$comm $option" ; fi
177 #if test $typ = 'pgi' ; then comm="$comm -skd tutorial_advection_in_gyre" ; fi
178 echo " \"eval $comm\""
179 echo "======================"
180 eval $comm > $tdir/output_$typ 2>&1
181 tail $nbl $tdir/output_$typ
182 echo
183
184 #-- also test restart (test 2+2=4)
185 if test $tt != $typ
186 then
187 echo "testing restart using:"
188 comm="../tools/do_tst_2+2 -a jmc@mitgcm.org"
189 if test $MPI = 1 ; then
190 echo " \"$comm -mpi -exe $EXE\""
191 echo "======================"
192 $comm -mpi -exe "$EXE" > $tdir/output_2+2 2>&1
193 else
194 echo " \"$comm\""
195 echo "======================"
196 $comm > $tdir/output_2+2 2>&1
197 fi
198 #tail $nbl $tdir/output_2+2
199 echo ; cat tst_2+2_out.txt
200 echo
201 fi
202 export OMP_NUM_THREADS=1
203
204 if test $sepDir = 0 ; then
205 #-- cleaning:
206 echo "======================"
207 echo "Cleaning test directories:"
208 if test $tt != $typ ; then
209 cmdCLN="../tools/do_tst_2+2 -clean"
210 echo " clean tst_2+2 running: $cmdCLN"
211 $cmdCLN >> $tdir/output_2+2 2>&1
212 fi
213 if test $tt != $last_Tst ; then
214 cmdCLN="./testreport -clean"
215 echo " clean dir running: $cmdCLN"
216 $cmdCLN > /dev/null 2>&1
217 fi
218 echo "======================"
219 echo
220 fi
221 popd
222
223 done

  ViewVC Help
Powered by ViewVC 1.1.22