/[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.1 by jmc, Tue Oct 30 22:41:33 2007 UTC revision 1.3 by jmc, Wed Nov 7 01:40:47 2007 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2    
3  noc0=`sed -n 's/nIter0=//p' input_ocn/data.tst | sed 's/,//g' | sed 's/ //g'`  # $Header$
4  Dbl=`sed -n 's/nTimeSteps=//p' input_ocn/data.tst | sed 's/,//g'`  # $Name$
5  NiOc=`expr $Dbl / 2`  
6  nat0=`sed -n 's/nIter0=//p' input_atm/data.tst | sed 's/,//g' | sed 's/ //g'`  rnp_loc()
7  Dbl=`sed -n 's/nTimeSteps=//p' input_atm/data.tst | sed 's/,//g'`  {
8  NiAt=`expr $Dbl / 2`  #   rnp_loc arg_1 arg_2
9    #   rename files with prefix = 'arg_1' to files with prefix = 'arg_2'
10        echo 'rnp_loc:' $1 $2
11    #   rnp -s $1 $2
12        yy=$1 ; zz=$2
13        listF=`ls -1 ${yy}*`
14        for xx in $listF
15        do
16          ff=`echo $xx | sed "s/^$yy/$zz/"`
17          mv $xx $ff
18        done
19    }
20    
21    dif_tiles()
22    {
23    #   dif_data_loc dir1 dir2 file
24    #   for all tiles  ==> do diff dir1/file dir2/file'
25        dir1=$1 ; dir2=$2 ; zz=$3
26        chkmeta='Y'
27        listX=`(cd $dir1 ; ls $zz.*.data | sed "s/$zz\.//" | sed "s/\.data//")`
28        echo '--> file=' $zz ', listX=' $listX
29        for xx in $listX
30        do
31          echo diff $dir1/$zz.$xx.data $dir2
32          diff $dir1/$zz.$xx.data $dir2
33          out=$?
34          if test $out != 0
35          then echo 'Diff outp=' $out ' ==> stop'
36           exit ; fi
37          if test $chkmeta = 'Y'
38          then
39           echo diff $dir1/$zz.$xx.meta $dir3
40           diff $dir1/$zz.$xx.meta $dir3
41           out=$?
42           if test $out != 0
43           then echo 'Diff outp=' $out ' ==> stop'
44            exit ; fi
45          fi
46        done
47    }
48    
49    if test -f input_ocn/data.tst
50    then
51     noc0=`sed -n 's/nIter0=//p' input_ocn/data.tst | sed 's/,//g' | sed 's/ //g'`
52     Dbl=`sed -n 's/nTimeSteps=//p' input_ocn/data.tst | sed 's/,//g'`
53     NiOc=`expr $Dbl / 2`
54     Nit=$NiOc
55    else
56     echo " file: 'input_ocn/data.tst' not found"
57     NiOc=0 ; Nit=2
58    fi
59    if test -f input_atm/data.tst
60    then
61     nat0=`sed -n 's/nIter0=//p' input_atm/data.tst | sed 's/,//g' | sed 's/ //g'`
62     Dbl=`sed -n 's/nTimeSteps=//p' input_atm/data.tst | sed 's/,//g'`
63     NiAt=`expr $Dbl / 2`
64    else
65     echo " file: 'input_atm/data.tst' not found"
66     NiAt=0
67    fi
68    
 Nit=$NiOc  
69  case $# in  case $# in
70    1) ;;    1) ;;
71     *) echo "Usage: `basename $0` flag"     *) echo "Usage: `basename $0` flag"
# Line 20  case $# in Line 78  case $# in
78        echo "        flag = 4 -> compare Ocean results"        echo "        flag = 4 -> compare Ocean results"
79        echo "        flag = 5 -> compare Atmos results"        echo "        flag = 5 -> compare Atmos results"
80        echo "        flag = 6 -> diff pickup files"        echo "        flag = 6 -> diff pickup files"
       echo " NB: need 2 data files: 'input_ocn/data.tst' & 'input_atm/data.tst'"  
       echo "                 corresponding to 1rst run"  
81        exit ;;        exit ;;
82  esac  esac
83    if test $NiAt = 0 -o $NiOc = 0
84    then
85        echo " needs 2 data files: 'input_ocn/data.tst' & 'input_atm/data.tst'"
86        echo "  (corresponding to 1rst run) to continue"
87      exit
88    fi
89  ksel=$1  ksel=$1
90    
91  #make sure that local dir & ~jmc/bin is in the path:  #make sure that local dir & ~jmc/bin is in the path:
92  #export PATH=${PATH}:.  #export PATH=${PATH}:.
 RNPref=`ls ~jmc/bin/rnp`" -s"  
 Prt10c=`ls ~jmc/bin/add0upto10c`  
  difex=`ls ~jmc/bin/dif_data`  
 echo -n " use script: "  
 echo    "   Prt10c='$Prt10c' ,"  
 echo -n "   RNPref='$RNPref'"  
 echo " and difex='$difex'"  
93    
94  Nit=$NiOc  Nit=$NiOc
95  Dbl=`expr $Nit + $Nit`  Dbl=`expr $Nit + $Nit`
96  noc1=`expr $noc0 + $Nit`  noc1=`expr $noc0 + $Nit`
97  noc2=`expr $noc0 + $Dbl`  noc2=`expr $noc0 + $Dbl`
98  noc0c=`$Prt10c $noc0`  noc0c=`printf "%10.10i\n" $noc0`
99  noc1c=`$Prt10c $noc1`  noc1c=`printf "%10.10i\n" $noc1`
100  noc2c=`$Prt10c $noc2`  noc2c=`printf "%10.10i\n" $noc2`
101  echo 'Oce (rank_1):' $noc0  $noc1  $noc2  echo 'Oce (rank_1):' $noc0  $noc1  $noc2
102  echo $noc0c $noc1c $noc2c  echo $noc0c $noc1c $noc2c
103    
# Line 50  Nit=$NiAt Line 105  Nit=$NiAt
105  Dbl=`expr $Nit + $Nit`  Dbl=`expr $Nit + $Nit`
106  nat1=`expr $nat0 + $Nit`  nat1=`expr $nat0 + $Nit`
107  nat2=`expr $nat0 + $Dbl`  nat2=`expr $nat0 + $Dbl`
108  nat0c=`$Prt10c $nat0`  nat0c=`printf "%10.10i\n" $nat0`
109  nat1c=`$Prt10c $nat1`  nat1c=`printf "%10.10i\n" $nat1`
110  nat2c=`$Prt10c $nat2`  nat2c=`printf "%10.10i\n" $nat2`
111  echo 'Atm (rank_2):' $nat0  $nat1  $nat2  echo 'Atm (rank_2):' $nat0  $nat1  $nat2
112  echo $nat0c $nat1c $nat2c  echo $nat0c $nat1c $nat2c
113    
# Line 70  then Line 125  then
125   echo ' '   echo ' '
126   cd rank_1   cd rank_1
127   for xx in $listOc   for xx in $listOc
128   do   do rnp_loc $xx.ckptA $xx.$noc0c
   echo $RNPref $xx.ckptA $xx.$noc0c  
   $RNPref $xx.ckptA $xx.$noc0c  
129   done   done
130   cd ../rank_2   cd ../rank_2
131   for xx in $listAt   for xx in $listAt
132   do   do rnp_loc $xx.ckptA $xx.$nat0c
   echo $RNPref $xx.ckptA $xx.$nat0c  
   $RNPref $xx.ckptA $xx.$nat0c  
133   done   done
134   cd ..   cd ..
135  #-- prepare for running Dbl  #-- prepare for running Dbl
# Line 104  then Line 155  then
155   cd rank_1   cd rank_1
156   for xx in $listOc   for xx in $listOc
157   do   do
158    echo $RNPref $xx.ckptA $xx.$noc2c    rnp_loc $xx.ckptA $xx.$noc2c
   $RNPref $xx.ckptA $xx.$noc2c  
159   done   done
160   echo 'move pickups to' $dir1/ocn   echo 'move pickups to' $dir1/ocn
161   mv pickup*.$noc2c.* ../$dir1/ocn   mv pickup*.$noc2c.* ../$dir1/ocn
# Line 115  then Line 165  then
165   cd rank_2   cd rank_2
166   for xx in $listAt   for xx in $listAt
167   do   do
168    echo $RNPref $xx.ckptA $xx.$nat2c    rnp_loc $xx.ckptA $xx.$nat2c
   $RNPref $xx.ckptA $xx.$nat2c  
169   done   done
170   echo 'move pickups to' $dir1/atm   echo 'move pickups to' $dir1/atm
171   mv pickup*.$nat2c.* ../$dir1/atm   mv pickup*.$nat2c.* ../$dir1/atm
# Line 148  then Line 197  then
197   cd rank_1   cd rank_1
198   for xx in $listOc   for xx in $listOc
199   do   do
200    echo $RNPref $xx.ckptA $xx.$noc1c    rnp_loc $xx.ckptA $xx.$noc1c
   $RNPref $xx.ckptA $xx.$noc1c  
201   done   done
202   echo 'move pickups to' $dir2/ocn   echo 'move pickups to' $dir2/ocn
203   mv pickup*.$noc1c.* ../$dir2/ocn   mv pickup*.$noc1c.* ../$dir2/ocn
# Line 159  then Line 207  then
207   cd rank_2   cd rank_2
208   for xx in $listAt   for xx in $listAt
209   do   do
210    echo $RNPref $xx.ckptA $xx.$nat1c    rnp_loc $xx.ckptA $xx.$nat1c
   $RNPref $xx.ckptA $xx.$nat1c  
211   done   done
212   echo 'move pickups to' $dir2/atm   echo 'move pickups to' $dir2/atm
213   mv pickup*.$nat1c.* ../$dir2/atm   mv pickup*.$nat1c.* ../$dir2/atm
# Line 193  then Line 240  then
240   mkdir $dir3/ocn   mkdir $dir3/ocn
241   cd rank_1   cd rank_1
242   for xx in $listOc   for xx in $listOc
243   do   do rnp_loc $xx.ckptA $xx.$noc2c
   echo $RNPref $xx.ckptA $xx.$noc2c  
   $RNPref $xx.ckptA $xx.$noc2c  
244   done   done
245   echo 'move pickups to' $dir3/ocn   echo 'move pickups to' $dir3/ocn
246   mv pickup*.$noc2c.* ../$dir3/ocn   mv pickup*.$noc2c.* ../$dir3/ocn
# Line 204  then Line 249  then
249   mkdir $dir3/atm   mkdir $dir3/atm
250   cd rank_2   cd rank_2
251   for xx in $listAt   for xx in $listAt
252   do   do rnp_loc $xx.ckptA $xx.$nat2c
   echo $RNPref $xx.ckptA $xx.$nat2c  
   $RNPref $xx.ckptA $xx.$nat2c  
253   done   done
254   echo 'move pickups to' $dir3/atm   echo 'move pickups to' $dir3/atm
255   mv pickup*.$nat2c.* ../$dir3/atm   mv pickup*.$nat2c.* ../$dir3/atm
# Line 272  then Line 315  then
315   echo ' ' ; echo '=== compare Ocn pickups: =============='   echo ' ' ; echo '=== compare Ocn pickups: =============='
316   for xx in $listOc   for xx in $listOc
317   do   do
318     $difex $dir1/ocn $dir3/ocn $xx.$noc2c     dif_tiles $dir1/ocn $dir3/ocn $xx.$noc2c
319   done   done
320   echo ' ' ; echo '=== compare Atm pickups: =============='   echo ' ' ; echo '=== compare Atm pickups: =============='
321   for xx in $listAt   for xx in $listAt
322   do   do
323     $difex $dir1/atm $dir3/atm $xx.$nat2c     dif_tiles $dir1/atm $dir3/atm $xx.$nat2c
324   done   done
325   exit   exit
326  fi  fi

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

  ViewVC Help
Powered by ViewVC 1.1.22