/[MITgcm]/MITgcm_contrib/jmc_script/tst1+1
ViewVC logotype

Diff of /MITgcm_contrib/jmc_script/tst1+1

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

revision 1.1 by jmc, Sun Oct 12 14:46:35 2003 UTC revision 1.2 by jmc, Mon Jan 17 16:05:09 2005 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2    
3    # Nit = Nb of iter of 2nd & 3rd run (1rst one is 2 x Nit iter long)
4    Nit=1
5    
6    case $# in
7      1) ;;
8       *) echo "Usage: `basename $0` flag"
9          echo " Check restart: compare 1 run of 2 x $Nit it long"
10          echo "     with 2 consecutive runs of $Nit it long each"
11          echo " where: flag = 1 -> do the 3 run"
12          echo "        flag = 2 -> compare std_outp"
13          echo "        flag = 3 -> compare pickup files"
14          exit ;;
15    esac
16    flag=$1
17    
18    
19  #- input :  #- input :
20  # 1) data.tst = parameter file "data" for 2 iter run  # 1) data.tst = parameter file "data" for 2.Nit iter run
21  # 2) in dir temp : pickup(_cd).0..0{num0}.001.001.data  # 2) in dir temp : pickup(_cd).0..0{num0}.001.001.data
22    
23  #- works only when start from iter that is a multiple of 10.  num0="72030"
 num0="3600"  
24    
25  exec=mitgcmuv  gcmExc=mitgcmuv
26  # list of pickup needed for a restart :  # list of pickup(s) that are needed for a restart :
27  #listP='pickup pickup_cd'  listP='pickup'
28  listP='pickup pickup_ic'  #listP='pickup pickup_ic'
29    
30  #- dir where to put the results :  #- dir where to put the results :
31  dir1=res_2it  dir1=res_2it
32  dir2=res_1iA  dir2=res_1iA
33  dir3=res_1iB  dir3=res_1iB
34  #---------------------------  #---------------------------
35  rm -r $dir1 $dir2 $dir3  Dbl=`expr $Nit + $Nit`
36  mkdir $dir1 $dir2 $dir3  num1=`expr $num0 + $Nit`
37  num1=`expr $num0 + 1`  num2=`expr $num0 + $Dbl`
 num2=`expr $num0 + 2`  
38  num0c=`add0upto10c $num0`  num0c=`add0upto10c $num0`
39  num1c=`add0upto10c $num1`  num1c=`add0upto10c $num1`
40  num2c=`add0upto10c $num2`  num2c=`add0upto10c $num2`
41  echo $num0 $num1 $num2  echo $num0 $num1 $num2
42  echo $num0c $num1c $num2c  echo $num0c $num1c $num2c
43  echo 'exec='$exec  echo 'gcmExc='$gcmExc
44  # exit  # exit
45  #------------------------  #------------------------
46    
47    if test $flag = 1 ; then
48    #------------
49    rm -r $dir1 $dir2 $dir3
50    mkdir $dir1 $dir2 $dir3
51    
52  cp -p data.tst data  cp -p data.tst data
53  ln -s temp/pickup*.${num0c}* .  ln -s temp/pickup*.${num0c}* .
54  echo '==> START RUN 2it'  echo '==> START RUN 2 x' $Nit 'it'
55  ./$exec > std_outp.2it 2>&1  ./$gcmExc > std_outp.2it 2>&1
56  out=`egrep -c 'STOP ABNORMAL END' std_outp.2it`  if test -f pickup.ckptA.001.001.data
57    then out=`egrep -c 'STOP ABNORMAL END' std_outp.2it`
58    else out=9 ; fi
59  if test $out != 0 ; then echo 'RUN 2it STOP before END => exit' ; exit ; fi  if test $out != 0 ; then echo 'RUN 2it STOP before END => exit' ; exit ; fi
60  echo '==>  END  RUN 2it'  echo '==>  END  RUN 2 x' $Nit 'it'
61  for xx in $listP  for xx in $listP
62  do  do
63   rnp $xx.ckptA $xx.$num2c   rnp $xx.ckptA $xx.$num2c
# Line 43  done Line 65  done
65  mv *.00?.00?.* $dir1  mv *.00?.00?.* $dir1
66  mv $dir1/pickup*.${num0c}* .  mv $dir1/pickup*.${num0c}* .
67  #--  #--
68  sed 's/^ nTimeSteps=2/ nTimeSteps=1/g' data.tst > data  sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" data.tst > data
69  echo '==> START RUN 1iA'  echo '==> START RUN 1iA'
70  ./$exec > std_outp.1iA 2>&1  ./$gcmExc > std_outp.1iA 2>&1
71  out=`egrep -c 'STOP ABNORMAL END' std_outp.1iA`  if test -f pickup.ckptA.001.001.data
72    then out=`egrep -c 'STOP ABNORMAL END' std_outp.1iA`
73    else out=9 ; fi
74  if test $out != 0 ; then echo 'RUN 1iA STOP before END => exit' ; exit ; fi  if test $out != 0 ; then echo 'RUN 1iA STOP before END => exit' ; exit ; fi
75  echo '==>  END  RUN 1iA'  echo '==>  END  RUN 1iA'
76  for xx in $listP  for xx in $listP
# Line 60  ln -s $dir2/pickup*.$num1c.* . Line 84  ln -s $dir2/pickup*.$num1c.* .
84  mv data data.tmp  mv data data.tmp
85  sed "s/^ nIter0=$num0/ nIter0=$num1/g" data.tmp > data  sed "s/^ nIter0=$num0/ nIter0=$num1/g" data.tmp > data
86  echo '==> START RUN 1iB'  echo '==> START RUN 1iB'
87  ./$exec > std_outp.1iB 2>&1  ./$gcmExc > std_outp.1iB 2>&1
88  out=`egrep -c 'STOP ABNORMAL END' std_outp.1iB`  if test -f pickup.ckptA.001.001.data
89    then out=`egrep -c 'STOP ABNORMAL END' std_outp.1iB`
90    else out=9 ; fi
91  if test $out != 0 ; then echo 'RUN 1iB STOP before END => exit' ; exit ; fi  if test $out != 0 ; then echo 'RUN 1iB STOP before END => exit' ; exit ; fi
92  echo '==>  END  RUN 1iB'  echo '==>  END  RUN 1iB'
93  for xx in $listP  for xx in $listP
# Line 70  do Line 96  do
96  done  done
97  mv *.00?.00?.* $dir3  mv *.00?.00?.* $dir3
98  rm $dir3/pickup*.$num1c.*  rm $dir3/pickup*.$num1c.*
99  #--  exit
100    #------------
101    fi
102    
103    if test $flag = 2 ; then
104    #------------
105  echo ' ' ; echo '-- compare cg2d_init_res :'  echo ' ' ; echo '-- compare cg2d_init_res :'
106  echo ' run 1iA:'  echo ' run 1iA:'
107   grep "cg2d_init_res" std_outp.1iA \   grep "cg2d_init_res" std_outp.1iA \
# Line 82  echo ' run 2it:' Line 113  echo ' run 2it:'
113   grep "cg2d_init_res" std_outp.2it \   grep "cg2d_init_res" std_outp.2it \
114        | sed 's/.* cg2d_init_res =//'        | sed 's/.* cg2d_init_res =//'
115  exit  exit
116    #------------
117    fi
118    
119    if test $flag = 3 ; then
120    #------------
121    difex=`ls ~jmc/bin/dif6data`
122    for xx in $listP
123    do
124     $difex $dir1 $dir3 $xx.$num2c
125    done
126    exit
127    #------------
128    fi

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

  ViewVC Help
Powered by ViewVC 1.1.22