/[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.3 by jmc, Wed Mar 30 22:41:50 2005 UTC revision 1.8 by jmc, Tue Oct 23 19:41:05 2007 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/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)  # Nit = Nb of iter of 2nd & 3rd run (1rst one is 2 x Nit iter long)
7  Nit=2  Dbl=`sed -n 's/nTimeSteps=//p' data.tst | sed 's/,//g'`
8    Nit=`expr $Dbl / 2`
9    #Nit=2
10    
11  case $# in  case $# in
12    1) ;;    1) ;;
# Line 15  case $# in Line 20  case $# in
20  esac  esac
21  flag=$1  flag=$1
22    
23    #- input :
 #- input :  
24  # 1) data.tst = parameter file "data" for 2.Nit iter run  # 1) data.tst = parameter file "data" for 2.Nit iter run
25  # 2) in dir temp : pickup(_cd).0..0{num0}.001.001.data  # 2) in dir temp : pickup(_cd).0..0{num0}.001.001.data
26    
27  num0="72000"  num0=`sed -n 's/nIter0=//p' data.tst | sed 's/,//g' | sed 's/ //g'`
28    #num0="72000"
29    
 gcmExc=mitgcmuv  
30  # list of pickup(s) that are needed for a restart :  # list of pickup(s) that are needed for a restart :
31    #listP='pickup pickup_cd pickup_nh pickup_ic pickup_land pickup_seaice'
32  listP='pickup'  listP='pickup'
33  #listP='pickup pickup_ic'  
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 :  #- dir where to put the results :
41  dir1=res_2it  dir1=res_2it
42  dir2=res_1iA  dir2=res_1iA
43  dir3=res_1iB  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`  Dbl=`expr $Nit + $Nit`
50  num1=`expr $num0 + $Nit`  num1=`expr $num0 + $Nit`
# Line 39  num0c=`add0upto10c $num0` Line 53  num0c=`add0upto10c $num0`
53  num1c=`add0upto10c $num1`  num1c=`add0upto10c $num1`
54  num2c=`add0upto10c $num2`  num2c=`add0upto10c $num2`
55  echo $num0 $num1 $num2  echo $num0 $num1 $num2
56  echo $num0c $num1c $num2c  echo $num0c $num1c $num2c
57  echo 'gcmExc='$gcmExc  echo 'gcmExc='$gcmExc
58  # exit  # exit
59  #------------------------  #------------------------
# Line 50  rm -r $dir1 $dir2 $dir3 Line 64  rm -r $dir1 $dir2 $dir3
64  mkdir $dir1 $dir2 $dir3  mkdir $dir1 $dir2 $dir3
65    
66  cp -p data.tst data  cp -p data.tst data
67  ln -s temp/pickup*.${num0c}* .  numF=`ls temp/pickup*.${num0c}* 2> /dev/null | grep -c pickup`
68    if test $numF != 0 ; then ln -s temp/pickup*.${num0c}* . ; fi
69  echo '==> START RUN 2 x' $Nit 'it'  echo '==> START RUN 2 x' $Nit 'it'
70  ./$gcmExc > std_outp.2it 2>&1  if [ $mpi -ge 1 ]
71  if test -f pickup.ckptA.001.001.data  then ./$gcmExc std_outp.2it > TTT.out.2it 2>&1
72    else ./$gcmExc > std_outp.2it 2>&1
73    fi
74    if test -f pickup.ckptA.001.001.data
75  then out=`egrep -c 'STOP ABNORMAL END' std_outp.2it`  then out=`egrep -c 'STOP ABNORMAL END' std_outp.2it`
76  else out=9 ; fi  else out=9 ; fi
77  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
78  echo '==>  END  RUN 2 x' $Nit 'it'  echo '==>  END  RUN 2 x' $Nit 'it'
79  for xx in $listP  for xx in $listP
80  do  do
81   rnp $xx.ckptA $xx.$num2c   rnp -s $xx.ckptA $xx.$num2c
82  done  done
83  mv *.0??.0??.* $dir1  mv *.0??.0??.* $dir1
84    txtF=`ls -1 *.txt 2> /dev/null`
85    mv R?.data R?.meta DR?.data DR?.meta $txtF $dir1
86  mv $dir1/pickup*.${num0c}* .  mv $dir1/pickup*.${num0c}* .
87  #--  #--
88  sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" data.tst > data  sed "s/^ nTimeSteps=$Dbl/ nTimeSteps=$Nit/g" data.tst > data
89  echo '==> START RUN 1iA'  echo '==> START RUN 1iA'
90  ./$gcmExc > std_outp.1iA 2>&1  if [ $mpi -ge 1 ]
91  if test -f pickup.ckptA.001.001.data  then ./$gcmExc std_outp.1iA > TTT.out.1iA 2>&1
92    else ./$gcmExc > std_outp.1iA 2>&1
93    fi
94    if test -f pickup.ckptA.001.001.data
95  then out=`egrep -c 'STOP ABNORMAL END' std_outp.1iA`  then out=`egrep -c 'STOP ABNORMAL END' std_outp.1iA`
96  else out=9 ; fi  else out=9 ; fi
97  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
98  echo '==>  END  RUN 1iA'  echo '==>  END  RUN 1iA'
99  for xx in $listP  for xx in $listP
100  do  do
101   rnp $xx.ckptA $xx.$num1c   rnp -s $xx.ckptA $xx.$num1c
102  done  done
103  mv *.0??.0??.* $dir2  mv *.0??.0??.* $dir2
104    txtF=`ls -1 *.txt 2> /dev/null`
105    mv R?.data R?.meta DR?.data DR?.meta $txtF $dir2
106  rm $dir2/pickup*.${num0c}*  rm $dir2/pickup*.${num0c}*
107  #--  #--
108  ln -s $dir2/pickup*.$num1c.* .  ln -s $dir2/pickup*.$num1c.* .
109  mv data data.tmp  mv data data.tmp
110  sed "s/^ nIter0=$num0/ nIter0=$num1/g" data.tmp > data  sed "s/^ nIter0=$num0/ nIter0=$num1/g" data.tmp > data
111  echo '==> START RUN 1iB'  echo '==> START RUN 1iB'
112  ./$gcmExc > std_outp.1iB 2>&1  if [ $mpi -ge 1 ]
113  if test -f pickup.ckptA.001.001.data  then ./$gcmExc std_outp.1iB > TTT.out.1iB 2>&1
114    else ./$gcmExc > std_outp.1iB 2>&1
115    fi
116    if test -f pickup.ckptA.001.001.data
117  then out=`egrep -c 'STOP ABNORMAL END' std_outp.1iB`  then out=`egrep -c 'STOP ABNORMAL END' std_outp.1iB`
118  else out=9 ; fi  else out=9 ; fi
119  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
120  echo '==>  END  RUN 1iB'  echo '==>  END  RUN 1iB'
121  for xx in $listP  for xx in $listP
122  do  do
123   rnp $xx.ckptA $xx.$num2c   rnp -s $xx.ckptA $xx.$num2c
124  done  done
125  mv *.0??.0??.* $dir3  mv *.0??.0??.* $dir3
126    txtF=`ls -1 *.txt 2> /dev/null`
127    mv R?.data R?.meta DR?.data DR?.meta $txtF $dir3
128  rm $dir3/pickup*.$num1c.*  rm $dir3/pickup*.$num1c.*
129  exit  exit
130  #------------  #------------
# Line 111  echo ' run 1iB:' Line 141  echo ' run 1iB:'
141        | sed 's/.* cg2d_init_res =//'        | sed 's/.* cg2d_init_res =//'
142  echo ' run 2it:'  echo ' run 2it:'
143   grep "cg2d_init_res" std_outp.2it \   grep "cg2d_init_res" std_outp.2it \
144        | sed 's/.* cg2d_init_res =//'        | sed 's/.* cg2d_init_res =//'
145  exit  exit
146  #------------  #------------
147  fi  fi
148    
149  if test $flag = 3 ; then  if test $flag = 3 ; then
150  #------------  #------------
151  difex=`ls ~jmc/bin/dif6data`  difex=`ls ~jmc/bin/dif_data`
152  for xx in $listP  for xx in $listP
153  do  do
154   $difex $dir1 $dir3 $xx.$num2c   $difex $dir1 $dir3 $xx.$num2c

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

  ViewVC Help
Powered by ViewVC 1.1.22