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

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

  ViewVC Help
Powered by ViewVC 1.1.22