/[MITgcm]/MITgcm_contrib/jmc_script/tst_2+2_cpl
ViewVC logotype

Diff of /MITgcm_contrib/jmc_script/tst_2+2_cpl

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

revision 1.8 by jmc, Fri Oct 22 03:10:56 2010 UTC revision 1.9 by jmc, Mon Dec 6 02:57:56 2010 UTC
# Line 22  dif_tiles() Line 22  dif_tiles()
22  #   dif_data_loc dd1 dd2 file  #   dif_data_loc dd1 dd2 file
23  #   for all tiles  ==> do diff dd1/file dd2/file'  #   for all tiles  ==> do diff dd1/file dd2/file'
24      dd1=$1 ; dd2=$2 ; zz=$3      dd1=$1 ; dd2=$2 ; zz=$3
25      chkmeta='Y'      chkmeta='N'
26      listY=`(cd $dd1 ; ls $zz.*.data | sed "s/$zz\.//" | sed "s/\.data//")`      listY=`(cd $dd1 ; ls $zz.*.data | sed "s/$zz\.//" | sed "s/\.data//")`
27      echo '--> file='$zz', listY='$listY      echo '--> file='$zz', listY='$listY
28      for yy in $listY      for yy in $listY
# Line 33  dif_tiles() Line 33  dif_tiles()
33        if test $out != 0        if test $out != 0
34        then echo 'Diff outp=' $out ' ==> stop'        then echo 'Diff outp=' $out ' ==> stop'
35         exit ; fi         exit ; fi
36        if test $chkmeta = 'Y'        if test $chkmeta = 'Y' ; then
       then  
37         echo diff $dd1/$zz.$yy.meta $dd2         echo diff $dd1/$zz.$yy.meta $dd2
38         diff $dd1/$zz.$yy.meta $dd2         diff $dd1/$zz.$yy.meta $dd2
39         out=$?         out=$?
40         if test $out != 0         if test $out != 0 ; then echo 'Diff outp=' $out ' ==> stop' ; exit ; fi
        then echo 'Diff outp=' $out ' ==> stop'  
         exit ; fi  
41        fi        fi
42      done      done
43  }  }
44    
45  if test -f input_ocn/data.tst  move_outp()
46  then  {
47    #   move_outp arg_1
48    #   move mitgcm output files to directory 'arg_1'
49        if [ $prt -ge 1 ] ; then echo ' move_outp:' $1 ; fi
50        mv *.data *.meta $1
51        listF=`ls -1 *.txt STD???.0000 *.log 2> /dev/null`
52        if test "x$listF" != x ; then mv $listF $1 ; fi
53        #- move back sym link:
54        listL=`find $1 -type l`
55        ttd=`echo $listL | wc -w`
56        #echo "ttd=$ttd"
57        if test $ttd != 0 ; then
58          #echo "listL='$listL'"
59          shortList=`ls $listL | sed "s|$1/||"`
60          if [ $prt -ge 2 ] ; then echo "  mv back:" $shortList ; fi
61          mv $listL .
62        fi
63    }
64    
65    #===============================================================================
66    
67    if test -f input_ocn/data.tst ; then
68   noc0=`sed -n 's/nIter0=//p' input_ocn/data.tst | sed 's/,//g' | sed 's/ //g'`   noc0=`sed -n 's/nIter0=//p' input_ocn/data.tst | sed 's/,//g' | sed 's/ //g'`
69   Dbl=`sed -n 's/nTimeSteps=//p' input_ocn/data.tst | sed 's/,//g'`   Dbl=`sed -n 's/nTimeSteps=//p' input_ocn/data.tst | sed 's/,//g'`
70   NiOc=`expr $Dbl / 2`   NiOc=`expr $Dbl / 2`
71   Nit=$NiOc   Nit=$NiOc
72  else  else echo " file: 'input_ocn/data.tst' not found"
  echo " file: 'input_ocn/data.tst' not found"  
73   NiOc=0 ; Nit=2   NiOc=0 ; Nit=2
74  fi  fi
75  if test -f input_atm/data.tst  if test -f input_atm/data.tst ; then
 then  
76   nat0=`sed -n 's/nIter0=//p' input_atm/data.tst | sed 's/,//g' | sed 's/ //g'`   nat0=`sed -n 's/nIter0=//p' input_atm/data.tst | sed 's/,//g' | sed 's/ //g'`
77   Dbl=`sed -n 's/nTimeSteps=//p' input_atm/data.tst | sed 's/,//g'`   Dbl=`sed -n 's/nTimeSteps=//p' input_atm/data.tst | sed 's/,//g'`
78   NiAt=`expr $Dbl / 2`   NiAt=`expr $Dbl / 2`
79  else  else echo " file: 'input_atm/data.tst' not found"
  echo " file: 'input_atm/data.tst' not found"  
80   NiAt=0   NiAt=0
81  fi  fi
82    if test -f pr_group ; then
83     Npr=`cat pr_group | wc -l`
84     NpOc=`grep -c '\/build_ocn\/mitgcmuv' pr_group`
85    else echo " file: 'pr_group' not found"
86     Npr=0
87    fi
88    
89    #- default:
90    prt=1    # 1 = print some informations ; 2 = print more informations
91    action=1
92    tmpDir='temp_tst'
93    
94  #- parse options:  #- parse options:
95  CMD='run_cpl_test'  CMD='run_cpl_test'
# Line 75  do Line 101  do
101   if test -x ${CMD}_$xx ; then CMD="${CMD}_$xx" ; shift ; continue ; fi   if test -x ${CMD}_$xx ; then CMD="${CMD}_$xx" ; shift ; continue ; fi
102  done  done
103    
104  if [ $# -ne 1 ]  if [ $# -ne 1 ] ; then
 then  
105     echo "Usage: `basename $0` [opt] flag"     echo "Usage: `basename $0` [opt] flag"
106     echo " Check restart of coupled set-up: compare 1 run of 2 x $Nit it long"     echo " Check restart of coupled set-up: compare 1 run of 2 x $Nit it long"
107     echo "                       with 2 consecutive runs of $Nit it long each"     echo "                       with 2 consecutive runs of $Nit it long each"
# Line 96  then Line 121  then
121     echo "        flag = 7  -> clean-up output files"     echo "        flag = 7  -> clean-up output files"
122     exit     exit
123  fi  fi
124  if test $NiAt = 0 -o $NiOc = 0  if test $NiAt = 0 -o $NiOc = 0 ; then
 then  
125      echo " needs 2 data files: 'input_ocn/data.tst' & 'input_atm/data.tst'"      echo " needs 2 data files: 'input_ocn/data.tst' & 'input_atm/data.tst'"
126      echo "  (corresponding to 1rst run) to continue"      echo "  (corresponding to 1rst run) to continue"
127    exit    exit
128  fi  fi
129    if test $Npr = 0 ; then
130        echo " needs file: 'pr_group' to continue" ; exit
131    fi
132  arg1=$1  arg1=$1
133  xx=`echo $arg1 | sed 's/\+$//'`  xx=`echo $arg1 | sed 's/\+$//'`
134  if test $xx != $arg1  if test $xx != $arg1
# Line 117  echo " doRun='$doRun' ; ksel='$ksel' ; k Line 144  echo " doRun='$doRun' ; ksel='$ksel' ; k
144  #make sure that local dir & ~jmc/bin is in the path:  #make sure that local dir & ~jmc/bin is in the path:
145  #export PATH=${PATH}:.  #export PATH=${PATH}:.
146    
147    rnkO=1 ; rnkA=`expr $rnkO + $NpOc`
148  Nit=$NiOc  Nit=$NiOc
149  Dbl=`expr $Nit + $Nit`  Dbl=`expr $Nit + $Nit`
150  noc1=`expr $noc0 + $Nit`  noc1=`expr $noc0 + $Nit`
# Line 124  noc2=`expr $noc0 + $Dbl` Line 152  noc2=`expr $noc0 + $Dbl`
152  noc0c=`printf "%10.10i\n" $noc0`  noc0c=`printf "%10.10i\n" $noc0`
153  noc1c=`printf "%10.10i\n" $noc1`  noc1c=`printf "%10.10i\n" $noc1`
154  noc2c=`printf "%10.10i\n" $noc2`  noc2c=`printf "%10.10i\n" $noc2`
155  echo ' Oce (rank_1):' $noc0  $noc1  $noc2  echo " Oce (rank_$rnkO):" $noc0  $noc1  $noc2
156  echo ' ' $noc0c $noc1c $noc2c  echo "     " $noc0c $noc1c $noc2c
157    
158  Nit=$NiAt  Nit=$NiAt
159  Dbl=`expr $Nit + $Nit`  Dbl=`expr $Nit + $Nit`
# Line 134  nat2=`expr $nat0 + $Dbl` Line 162  nat2=`expr $nat0 + $Dbl`
162  nat0c=`printf "%10.10i\n" $nat0`  nat0c=`printf "%10.10i\n" $nat0`
163  nat1c=`printf "%10.10i\n" $nat1`  nat1c=`printf "%10.10i\n" $nat1`
164  nat2c=`printf "%10.10i\n" $nat2`  nat2c=`printf "%10.10i\n" $nat2`
165  echo ' Atm (rank_2):' $nat0  $nat1  $nat2  echo " Atm (rank_$rnkA):" $nat0  $nat1  $nat2
166  echo ' ' $nat0c $nat1c $nat2c  echo "     " $nat0c $nat1c $nat2c
167    
168  listOc="pickup"  listOc="pickup"
169  listAt="pickup pickup_cpl pickup_ic pickup_land"  listAt="pickup pickup_cpl pickup_ic pickup_land"
# Line 145  dir1=res_2it Line 173  dir1=res_2it
173  dir2=res_1iA  dir2=res_1iA
174  dir3=res_1iB  dir3=res_1iB
175    
176  #-- after a run, rename pickup file to restart  #---- clean up current dir: rename pickup files and move output to temp_tst dir:
177  if test $ksel = 0  if test $ksel = 0 ; then
178  then   /bin/rm -rf $tmpDir.0 $tmpDir.1 $tmpDir.2
179     mkdir $tmpDir.0 $tmpDir.1 $tmpDir.2
180     mv std_outp rank_0/*.clog rank_0/data $tmpDir.0
181   echo ' '   echo ' '
182   cd rank_1   cd rank_$rnkO
183   for xx in $listOc   for xx in $listOc
184   do rnp_loc $xx.ckptA $xx.$noc0c   do rnp_loc $xx.ckptA $xx.$noc0c
185   done   done
186   cd ../rank_2   move_outp ../$tmpDir.1
187     mv data ../$tmpDir.1
188     mv *.0001.clog ../$tmpDir.0
189    #-- link back pickup files
190     sufx=$noc0c
191     listS=`ls ../$tmpDir.1/pickup*.${sufx}.* 2> /dev/null | head -1`
192     if test "x$listS" != x ; then
193       if [ $prt -ge 1 ] ; then echo ' link back:' ../$tmpDir'.1/pickup*.'${sufx}'*' ; fi
194       if test $action = 1 ; then ln -s ../$tmpDir.1/pickup*.${sufx}* . ; fi
195     fi
196     cd ..
197     cd rank_$rnkA
198   for xx in $listAt   for xx in $listAt
199   do rnp_loc $xx.ckptA $xx.$nat0c   do rnp_loc $xx.ckptA $xx.$nat0c
200   done   done
201     move_outp ../$tmpDir.2
202     mv data ../$tmpDir.2
203     mv *.0001.clog ../$tmpDir.0
204    #-- link back pickup files
205     sufx=$nat0c
206     listS=`ls ../$tmpDir.2/pickup*.${sufx}.* 2> /dev/null | head -1`
207     if test "x$listS" != x ; then
208       if [ $prt -ge 1 ] ; then echo ' link back:' ../$tmpDir'.2/pickup*.'${sufx}'*' ; fi
209       if test $action = 1 ; then ln -s ../$tmpDir.2/pickup*.${sufx}* . ; fi
210     fi
211   cd ..   cd ..
212  #-- prepare for running Dbl  #-- prepare for running Dbl
213   echo '=> prepare for running Dbl:'   echo '=> prepare for running Dbl:'
214   Dbl=`expr $NiOc + $NiOc`   Dbl=`expr $NiOc + $NiOc`
215   sed "1 s/[0-9]*/$Dbl/" input_cpl/data > rank_0/data   sed "1 s/[0-9]*/$Dbl/" input_cpl/data > rank_0/data
216   cp -p input_ocn/data.tst rank_1/data   cp -p input_ocn/data.tst rank_$rnkO/data
217   cp -p input_atm/data.tst rank_2/data   cp -p input_atm/data.tst rank_$rnkA/data
218   echo 'rank_0/data:' `head -1 rank_0/data`   echo 'rank_0/data:' `head -1 rank_0/data`
219   egrep 'nIter0|nTimeSteps' rank_?/data   egrep 'nIter0|nTimeSteps' rank_$rnkO/data rank_$rnkA/data
220  fi  fi
221    
222  #-- run & post-process Dbl:  #-- run & post-process Dbl:
223  if [ $ksel -eq 1 -o $kUp -le 1 ]  if [ $ksel -eq 1 -o $kUp -le 1 ] ; then
 then  
224   echo ' '   echo ' '
225  #-- run coupled test (Dbl):  #-- run coupled test (Dbl):
226   if [ $doRun -eq 1 -o $kUp -lt 1 ]   if [ $doRun -eq 1 -o $kUp -lt 1 ] ; then
  then  
227     echo "=> run (Dbl): $CMD"     echo "=> run (Dbl): $CMD"
228     $CMD     $CMD
229   fi   fi
# Line 182  then Line 231  then
231   rm -rf $dir1   rm -rf $dir1
232   mkdir $dir1   mkdir $dir1
233   echo '=> move STDOUT to' $dir1   echo '=> move STDOUT to' $dir1
234   mv rank_1/STDOUT* $dir1/ocnSTDOUT.2it   mv std_outp rank_0/*.0000.clog rank_$rnkO/*.0001.clog rank_$rnkA/*.0001.clog $dir1
235   mv rank_2/STDOUT* $dir1/atmSTDOUT.2it   mv rank_$rnkO/STDOUT.0000 $dir1/ocnSTDOUT.0000
236     mv rank_$rnkA/STDOUT.0000 $dir1/atmSTDOUT.0000
237    
238   mkdir $dir1/ocn   mkdir $dir1/ocn
239   cd rank_1   cd rank_$rnkO
240   for xx in $listOc   for xx in $listOc
241   do   do
242    rnp_loc $xx.ckptA $xx.$noc2c    rnp_loc $xx.ckptA $xx.$noc2c
243   done   done
244   echo 'move pickups to' $dir1/ocn   echo 'move output to' $dir1/ocn
245   mv pickup*.$noc2c.* ../$dir1/ocn   move_outp  ../$dir1/ocn
246   cd ..   cd ..
247    
248   mkdir $dir1/atm   mkdir $dir1/atm
249   cd rank_2   cd rank_$rnkA
250   for xx in $listAt   for xx in $listAt
251   do   do
252    rnp_loc $xx.ckptA $xx.$nat2c    rnp_loc $xx.ckptA $xx.$nat2c
253   done   done
254   echo 'move pickups to' $dir1/atm   echo 'move output to' $dir1/atm
255   mv pickup*.$nat2c.* ../$dir1/atm   move_outp  ../$dir1/atm
256   cd ..   cd ..
257    
258  #-- prepare for running 1iA  #-- prepare for running 1iA
# Line 210  then Line 260  then
260   Nit=$NiOc   Nit=$NiOc
261   Dbl=`expr $Nit + $Nit`   Dbl=`expr $Nit + $Nit`
262   sed "1 s/[0-9]*/$Nit/" input_cpl/data > rank_0/data   sed "1 s/[0-9]*/$Nit/" input_cpl/data > rank_0/data
263   sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" input_ocn/data.tst > rank_1/data   sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" input_ocn/data.tst > rank_$rnkO/data
264   Nit=$NiAt   Nit=$NiAt
265   Dbl=`expr $Nit + $Nit`   Dbl=`expr $Nit + $Nit`
266   sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" input_atm/data.tst > rank_2/data   sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" input_atm/data.tst > rank_$rnkA/data
267   echo 'rank_0/data:' `head -1 rank_0/data`   echo 'rank_0/data:' `head -1 rank_0/data`
268   egrep 'nIter0|nTimeSteps' rank_?/data   egrep 'nIter0|nTimeSteps' rank_$rnkO/data rank_$rnkA/data
269  fi  fi
270    
271  #-- run & post-process 1iA:  #-- run & post-process 1iA:
272  if [ $ksel -eq 2 -o $kUp -le 2 ]  if [ $ksel -eq 2 -o $kUp -le 2 ] ; then
 then  
273   echo ' '   echo ' '
274  #-- run coupled test (1iA):  #-- run coupled test (1iA):
275   if [ $doRun -eq 1 -o $kUp -lt 2 ]   if [ $doRun -eq 1 -o $kUp -lt 2 ] ; then
  then  
276     echo "=> run (1iA): $CMD"     echo "=> run (1iA): $CMD"
277     $CMD     $CMD
278   fi   fi
# Line 232  then Line 280  then
280   rm -rf $dir2   rm -rf $dir2
281   mkdir $dir2   mkdir $dir2
282   echo '=> move STDOUT to' $dir2   echo '=> move STDOUT to' $dir2
283   mv rank_1/STDOUT* $dir2/ocnSTDOUT.1iA   mv std_outp rank_0/*.clog rank_$rnkO/*.clog rank_$rnkA/*.clog $dir2
284   mv rank_2/STDOUT* $dir2/atmSTDOUT.1iA   mv rank_$rnkO/STDOUT.0000 $dir2/ocnSTDOUT.0000
285     mv rank_$rnkA/STDOUT.0000 $dir2/atmSTDOUT.0000
286    
287   mkdir $dir2/ocn   mkdir $dir2/ocn
288   cd rank_1   cd rank_$rnkO
289   for xx in $listOc   for xx in $listOc
290   do   do
291    rnp_loc $xx.ckptA $xx.$noc1c    rnp_loc $xx.ckptA $xx.$noc1c
292   done   done
293   echo 'move pickups to' $dir2/ocn  # remove pickup*.$noc0c* sym-link:
294   mv pickup*.$noc1c.* ../$dir2/ocn   find . ! -name . -prune -type l -name 'pickup*.'${noc0c}'*' -exec rm {} \;
295     echo 'move output to' $dir2/ocn
296     move_outp  ../$dir2/ocn
297   cd ..   cd ..
298    
299   mkdir $dir2/atm   mkdir $dir2/atm
300   cd rank_2   cd rank_$rnkA
301   for xx in $listAt   for xx in $listAt
302   do   do
303    rnp_loc $xx.ckptA $xx.$nat1c    rnp_loc $xx.ckptA $xx.$nat1c
304   done   done
305   echo 'move pickups to' $dir2/atm  # remove pickup*.$nat0c* sym-link:
306   mv pickup*.$nat1c.* ../$dir2/atm   find . ! -name . -prune -type l -name 'pickup*.'${nat0c}'*' -exec rm {} \;
307     echo 'move output to' $dir2/atm
308     move_outp  ../$dir2/atm
309   cd ..   cd ..
310    
311  #-- prepare for running 1iB  #-- prepare for running 1iB
312   echo '=> prepare for running 1iB:'   echo '=> prepare for running 1iB:'
313   cd rank_1   cd rank_$rnkO
314     ln -s ../$dir2/ocn/pickup*.$noc1c.* .
315   sed "s/^ nIter0=$noc0/ nIter0=$noc1/g" data > data.tmp   sed "s/^ nIter0=$noc0/ nIter0=$noc1/g" data > data.tmp
316   mv -f data.tmp data   mv -f data.tmp data
317   ln -s ../$dir2/ocn/* .   cd ../rank_$rnkA
318   cd ../rank_2   ln -s ../$dir2/atm/pickup*.$nat1c.* .
319   sed "s/^ nIter0=$nat0/ nIter0=$nat1/g" data > data.tmp   sed "s/^ nIter0=$nat0/ nIter0=$nat1/g" data > data.tmp
320   mv -f data.tmp data   mv -f data.tmp data
  ln -s ../$dir2/atm/* .  
321   cd ..   cd ..
322   echo 'rank_0/data:' `head -1 rank_0/data`   echo 'rank_0/data:' `head -1 rank_0/data`
323   egrep 'nIter0|nTimeSteps' rank_?/data   egrep 'nIter0|nTimeSteps' rank_$rnkO/data rank_$rnkA/data
324  fi  fi
325    
326  #-- run & post-process 1iB:  #-- run & post-process 1iB:
327  if [ $ksel -eq 3 -o $kUp -le 3 ]  if [ $ksel -eq 3 -o $kUp -le 3 ] ; then
 then  
328   echo ' '   echo ' '
329  #-- run coupled test (1iB):  #-- run coupled test (1iB):
330   if [ $doRun -eq 1 -o $kUp -lt 3 ]   if [ $doRun -eq 1 -o $kUp -lt 3 ] ; then
  then  
331     echo "=> run (1iB): $CMD"     echo "=> run (1iB): $CMD"
332     $CMD     $CMD
333   fi   fi
# Line 284  then Line 335  then
335   rm -rf $dir3   rm -rf $dir3
336   mkdir $dir3   mkdir $dir3
337   echo '=> move STDOUT to' $dir3   echo '=> move STDOUT to' $dir3
338   mv rank_1/STDOUT* $dir3/ocnSTDOUT.1iB   mv std_outp rank_0/*.clog rank_$rnkO/*.clog rank_$rnkA/*.clog $dir3
339   mv rank_2/STDOUT* $dir3/atmSTDOUT.1iB   mv rank_$rnkO/STDOUT.0000 $dir3/ocnSTDOUT.0000
340     mv rank_$rnkA/STDOUT.0000 $dir3/atmSTDOUT.0000
341    
342   mkdir $dir3/ocn   mkdir $dir3/ocn
343   cd rank_1   cd rank_$rnkO
344   for xx in $listOc   for xx in $listOc
345   do rnp_loc $xx.ckptA $xx.$noc2c   do rnp_loc $xx.ckptA $xx.$noc2c
346   done   done
347   echo 'move pickups to' $dir3/ocn  # remove pickup*.$noc1c* sym-link:
348   mv pickup*.$noc2c.* ../$dir3/ocn   find . ! -name . -prune -type l -name 'pickup*.'${noc1c}'*' -exec rm {} \;
349   rm -f pickup*.$noc1c.*   echo 'move output to' $dir3/ocn
350     move_outp  ../$dir3/ocn
351   cd ..   cd ..
352    
353   mkdir $dir3/atm   mkdir $dir3/atm
354   cd rank_2   cd rank_$rnkA
355   for xx in $listAt   for xx in $listAt
356   do rnp_loc $xx.ckptA $xx.$nat2c   do rnp_loc $xx.ckptA $xx.$nat2c
357   done   done
358   echo 'move pickups to' $dir3/atm  # remove pickup*.$nat1c* sym-link:
359   mv pickup*.$nat2c.* ../$dir3/atm   find . ! -name . -prune -type l -name 'pickup*.'${nat1c}'*' -exec rm {} \;
360   rm -f pickup*.$nat1c.*   echo 'move output to' $dir3/atm
361     move_outp  ../$dir3/atm
362   cd ..   cd ..
  echo '=> restore std data files'  
  cp -p input_cpl/data rank_0  
  cp -p input_ocn/data rank_1  
  cp -p input_atm/data rank_2  
363  fi  fi
364    
365  #-- compare output:  #-- compare output:
366  if test $ksel = 4  if test $ksel = 4 ; then
 then  
367   rm -f ocn.txt   rm -f ocn.txt
368   echo ' run 2it: ---------- ' > tmp1.txt   echo ' run 2it: ---------- ' > tmp1.txt
369   grep "cg2d_init_res" $dir1/ocnSTDOUT.2it \   grep "cg2d_init_res" $dir1/ocnSTDOUT.0000 \
370        | sed 's/.* cg2d_init_res =//' >> tmp1.txt        | sed 's/.* cg2d_init_res =//' >> tmp1.txt
371   Nit=`expr $NiOc + 2`   Nit=`expr $NiOc + 2`
372     echo "NiOc= $NiOc ; Nit= $Nit"
373   sed "$Nit i \ ... 2it continue ..." tmp1.txt > tmp2.txt   sed "$Nit i \ ... 2it continue ..." tmp1.txt > tmp2.txt
374   rm -f tmp1.txt   rm -f tmp1.txt
375   echo ' run 1iA: ---------- ' > tmp1.txt   echo ' run 1iA: ---------- ' > tmp1.txt
376   grep "cg2d_init_res" $dir2/ocnSTDOUT.1iA \   grep "cg2d_init_res" $dir2/ocnSTDOUT.0000 \
377        | sed 's/.* cg2d_init_res =//' >> tmp1.txt        | sed 's/.* cg2d_init_res =//' >> tmp1.txt
378   echo ' run 1iB: ---------- ' >> tmp1.txt   echo ' run 1iB: ---------- ' >> tmp1.txt
379   grep "cg2d_init_res" $dir3/ocnSTDOUT.1iB \   grep "cg2d_init_res" $dir3/ocnSTDOUT.0000 \
380        | sed 's/.* cg2d_init_res =//' >> tmp1.txt        | sed 's/.* cg2d_init_res =//' >> tmp1.txt
381   nl tmp1.txt > tmp1.ttt   nl tmp1.txt > tmp1.ttt
382   nl tmp2.txt > tmp2.ttt   nl tmp2.txt > tmp2.ttt
# Line 337  then Line 387  then
387   exit   exit
388  fi  fi
389    
390  if test $ksel = 5  if test $ksel = 5 ; then
 then  
391   rm -f atm.txt   rm -f atm.txt
392   echo ' run 2it: ---------- ' > tmp1.txt   echo ' run 2it: ---------- ' > tmp1.txt
393   grep "cg2d_init_res" $dir1/atmSTDOUT.2it \   grep "cg2d_init_res" $dir1/atmSTDOUT.0000 \
394        | sed 's/.* cg2d_init_res =//' >> tmp1.txt        | sed 's/.* cg2d_init_res =//' >> tmp1.txt
395   Nit=`expr $NiAt + 2`   Nit=`expr $NiAt + 2`
396   sed "$Nit i \ ... 2it continue ..." tmp1.txt > tmp2.txt   sed "$Nit i \ ... 2it continue ..." tmp1.txt > tmp2.txt
397   rm -f tmp1.txt   rm -f tmp1.txt
398   echo ' run 1iA: ---------- ' > tmp1.txt   echo ' run 1iA: ---------- ' > tmp1.txt
399   grep "cg2d_init_res" $dir2/atmSTDOUT.1iA \   grep "cg2d_init_res" $dir2/atmSTDOUT.0000 \
400        | sed 's/.* cg2d_init_res =//' >> tmp1.txt        | sed 's/.* cg2d_init_res =//' >> tmp1.txt
401   echo ' run 1iB: ---------- ' >> tmp1.txt   echo ' run 1iB: ---------- ' >> tmp1.txt
402   grep "cg2d_init_res" $dir3/atmSTDOUT.1iB \   grep "cg2d_init_res" $dir3/atmSTDOUT.0000 \
403        | sed 's/.* cg2d_init_res =//' >> tmp1.txt        | sed 's/.* cg2d_init_res =//' >> tmp1.txt
404   nl tmp1.txt > tmp1.ttt   nl tmp1.txt > tmp1.ttt
405   nl tmp2.txt > tmp2.ttt   nl tmp2.txt > tmp2.ttt
# Line 362  then Line 411  then
411  fi  fi
412    
413  #- compare pickup file:  #- compare pickup file:
414  if test $ksel = 6  if test $ksel = 6 ; then
 then  
415   echo ' ' ; echo '=== compare Ocn pickups: =============='   echo ' ' ; echo '=== compare Ocn pickups: =============='
416   for xx in $listOc   for xx in $listOc
417   do   do
# Line 378  then Line 426  then
426  fi  fi
427    
428  #- clean-up and reset:  #- clean-up and reset:
429  if test $ksel = 7  if test $ksel = 7 ; then
 then  
430   echo "== clean-up and reset :"   echo "== clean-up and reset :"
431  # echo '--> remove pickup*.'$noc0c'* sym-links:'  #echo '--> remove pickup*.'$noc0c'* sym-links:'
432  # cd rank_1  #cd rank_$rnkO
433  #   listS=`find . ! -name . -prune -type l -name 'pickup*.'${noc0c}'*'`  #  listS=`find . ! -name . -prune -type l -name 'pickup*.'${noc0c}'*'`
434  #   if [ $prt -ge 2 ] ; then echo ' in rank_1: rm' $listS ; fi  #  if [ $prt -ge 2 ] ; then echo " in rank_$rnkO: rm" $listS ; fi
435  #   rm -f $listS  #  rm -f $listS
436  # echo '--> remove pickup*.'$nat0c'* sym-links:'  #echo '--> remove pickup*.'$nat0c'* sym-links:'
437  # cd ../rank_2  #cd ../rank_$rnkA
438  #   listS=`find . ! -name . -prune -type l -name 'pickup*.'${nat0c}'*'`  #  listS=`find . ! -name . -prune -type l -name 'pickup*.'${nat0c}'*'`
439  #   if [ $prt -ge 2 ] ; then echo ' in rank_2: rm' $listS ; fi  #  if [ $prt -ge 2 ] ; then echo " in rank_$rnkA: rm" $listS ; fi
440  #   rm -f $listS  #  rm -f $listS
441  # cd ..  #cd ..
  echo '--> remove output dir and output files:'  
  echo ' rm -rf' $dir1 $dir2 $dir3  
  rm -rf $dir1 $dir2 $dir3  
  rm -f atm.txt ocn.txt  
442  #- move back files from temp_tst dir:  #- move back files from temp_tst dir:
443  #if test -d $tmpDir ; then   echo '=> restore std data files'
444  # echo "--> move back files from 'temp_tst' dir."   rm -f rank_0/data  rank_$rnkO/data rank_$rnkA/data
445  # cd $tmpDir ; mv -f * .. ; cd ..   mv $tmpDir.0/*Ocean.0001.clog $tmpDir.1/* rank_$rnkO
446  # rmdir $tmpDir   mv $tmpDir.0/*Atmos.0001.clog $tmpDir.2/* rank_$rnkA
447  #fi   mv $tmpDir.0/std_outp .
448     mv $tmpDir.0/* rank_0
449     rmdir $tmpDir.0 $tmpDir.1 $tmpDir.2
450    #echo '--> remove output dir and output files:'
451    #echo ' rm -rf' $dir1 $dir2 $dir3
452    #rm -rf $dir1 $dir2 $dir3
453    #rm -f atm.txt ocn.txt
454   exit   exit
455  fi  fi

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22