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

Contents of /MITgcm_contrib/jmc_script/tst1+1

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


Revision 1.6 - (show annotations) (download)
Sun Mar 26 23:21:50 2006 UTC (19 years, 4 months ago) by jmc
Branch: MAIN
Changes since 1.5: +7 -1 lines
add Header

1 #!/bin/sh
2
3 # $Header: $
4 # $Name: $
5
6 # Nit = Nb of iter of 2nd & 3rd run (1rst one is 2 x Nit iter long)
7 Dbl=`sed -n 's/nTimeSteps=//p' data.tst | sed 's/,//g'`
8 Nit=`expr $Dbl / 2`
9 #Nit=2
10
11 case $# in
12 1) ;;
13 *) echo "Usage: `basename $0` flag"
14 echo " Check restart: compare 1 run of 2 x $Nit it long"
15 echo " with 2 consecutive runs of $Nit it long each"
16 echo " where: flag = 1 -> do the 3 run"
17 echo " flag = 2 -> compare std_outp"
18 echo " flag = 3 -> compare pickup files"
19 exit ;;
20 esac
21 flag=$1
22
23 #- input :
24 # 1) data.tst = parameter file "data" for 2.Nit iter run
25 # 2) in dir temp : pickup(_cd).0..0{num0}.001.001.data
26
27 num0=`sed -n 's/nIter0=//p' data.tst | sed 's/,//g' | sed 's/ //g'`
28 #num0="72000"
29
30 # list of pickup(s) that are needed for a restart :
31 listP='pickup'
32 #listP='pickup pickup_cd pickup_nh pickup_ic pickup_land'
33
34 mpi=0
35 if [ $mpi -ge 1 ]
36 then gcmExc=run_ifc_mpi
37 else gcmExc=mitgcmuv
38 fi
39
40 #- dir where to put the results :
41 dir1=res_2it
42 dir2=res_1iA
43 dir3=res_1iB
44
45 #make sure that local dir is in the path:
46 export PATH=${PATH}:.
47
48 #---------------------------
49 Dbl=`expr $Nit + $Nit`
50 num1=`expr $num0 + $Nit`
51 num2=`expr $num0 + $Dbl`
52 num0c=`add0upto10c $num0`
53 num1c=`add0upto10c $num1`
54 num2c=`add0upto10c $num2`
55 echo $num0 $num1 $num2
56 echo $num0c $num1c $num2c
57 echo 'gcmExc='$gcmExc
58 # exit
59 #------------------------
60
61 if test $flag = 1 ; then
62 #------------
63 rm -r $dir1 $dir2 $dir3
64 mkdir $dir1 $dir2 $dir3
65
66 cp -p data.tst data
67 ln -s temp/pickup*.${num0c}* .
68 echo '==> START RUN 2 x' $Nit 'it'
69 if [ $mpi -ge 1 ]
70 then ./$gcmExc std_outp.2it > TTT.out.2it 2>&1
71 else ./$gcmExc > std_outp.2it 2>&1
72 fi
73 if test -f pickup.ckptA.001.001.data
74 then out=`egrep -c 'STOP ABNORMAL END' std_outp.2it`
75 else out=9 ; fi
76 if test $out != 0 ; then echo 'RUN 2it STOP before END => exit' ; exit ; fi
77 echo '==> END RUN 2 x' $Nit 'it'
78 for xx in $listP
79 do
80 rnp -s $xx.ckptA $xx.$num2c
81 done
82 mv *.0??.0??.* $dir1
83 mv R?.data R?.meta DR?.data DR?.meta $dir1
84 mv $dir1/pickup*.${num0c}* .
85 #--
86 sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" data.tst > data
87 echo '==> START RUN 1iA'
88 if [ $mpi -ge 1 ]
89 then ./$gcmExc std_outp.1iA > TTT.out.1iA 2>&1
90 else ./$gcmExc > std_outp.1iA 2>&1
91 fi
92 if test -f pickup.ckptA.001.001.data
93 then out=`egrep -c 'STOP ABNORMAL END' std_outp.1iA`
94 else out=9 ; fi
95 if test $out != 0 ; then echo 'RUN 1iA STOP before END => exit' ; exit ; fi
96 echo '==> END RUN 1iA'
97 for xx in $listP
98 do
99 rnp -s $xx.ckptA $xx.$num1c
100 done
101 mv *.0??.0??.* $dir2
102 mv R?.data R?.meta DR?.data DR?.meta $dir2
103 rm $dir2/pickup*.${num0c}*
104 #--
105 ln -s $dir2/pickup*.$num1c.* .
106 mv data data.tmp
107 sed "s/^ nIter0=$num0/ nIter0=$num1/g" data.tmp > data
108 echo '==> START RUN 1iB'
109 if [ $mpi -ge 1 ]
110 then ./$gcmExc std_outp.1iB > TTT.out.1iB 2>&1
111 else ./$gcmExc > std_outp.1iB 2>&1
112 fi
113 if test -f pickup.ckptA.001.001.data
114 then out=`egrep -c 'STOP ABNORMAL END' std_outp.1iB`
115 else out=9 ; fi
116 if test $out != 0 ; then echo 'RUN 1iB STOP before END => exit' ; exit ; fi
117 echo '==> END RUN 1iB'
118 for xx in $listP
119 do
120 rnp -s $xx.ckptA $xx.$num2c
121 done
122 mv *.0??.0??.* $dir3
123 mv R?.data R?.meta DR?.data DR?.meta $dir3
124 rm $dir3/pickup*.$num1c.*
125 exit
126 #------------
127 fi
128
129 if test $flag = 2 ; then
130 #------------
131 echo ' ' ; echo '-- compare cg2d_init_res :'
132 echo ' run 1iA:'
133 grep "cg2d_init_res" std_outp.1iA \
134 | sed 's/.* cg2d_init_res =//'
135 echo ' run 1iB:'
136 grep "cg2d_init_res" std_outp.1iB \
137 | sed 's/.* cg2d_init_res =//'
138 echo ' run 2it:'
139 grep "cg2d_init_res" std_outp.2it \
140 | sed 's/.* cg2d_init_res =//'
141 exit
142 #------------
143 fi
144
145 if test $flag = 3 ; then
146 #------------
147 difex=`ls ~jmc/bin/dif_data`
148 for xx in $listP
149 do
150 $difex $dir1 $dir3 $xx.$num2c
151 done
152 exit
153 #------------
154 fi

  ViewVC Help
Powered by ViewVC 1.1.22