/[MITgcm]/MITgcm/verification/cpl_aim+ocn/run_cpl_test
ViewVC logotype

Annotation of /MITgcm/verification/cpl_aim+ocn/run_cpl_test

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


Revision 1.11 - (hide annotations) (download)
Tue Nov 27 00:54:58 2007 UTC (16 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59k, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i
Changes since 1.10: +11 -9 lines
avoid the local copy of the optfile

1 jmc 1.1 #! /bin/sh
2    
3 jmc 1.11 # $Header: /u/gcmpack/MITgcm/verification/cpl_aim+ocn/run_cpl_test,v 1.10 2007/11/07 01:45:02 jmc Exp $
4 jmc 1.1 # $Name: $
5    
6     Np=3
7     if [ $# -lt 1 ]
8     then
9     echo 'Usage:'`basename $0`' step '
10 jmc 1.10 echo ' => test coupled set-up on linux box (1.cpu)'
11 jmc 1.1 echo 'step = 0 : clean all directories'
12     echo 'step = 1 : compile the 3 executables (cpl,ocn,atm)'
13     echo 'step = 2 : copy input files and dir(s)'
14 jmc 1.10 echo "step = 3 : run with $Np mpi processes"
15 jmc 1.1 echo 'step = 4 : check the results'
16 jmc 1.8 echo 'step = 5 : remove output files in rank_0,1,2 dir.'
17 jmc 1.1 exit
18     fi
19     kpr=$1
20     dir=`pwd`
21    
22     #============================================================================
23    
24     if test $kpr = 0
25     then
26 jmc 1.11 rm -f pr_group std_outp comp_res.{ocn,atm,land,sice}
27 jmc 1.1 rm -f build_???/TTT.*make.* build_???/TTT.mkdepend.*
28     /bin/rm -r -f rank_0 rank_1 rank_2
29     if test -f build_cpl/Makefile ; then cd build_cpl ; make CLEAN ; cd .. ; fi
30     if test -f build_ocn/Makefile ; then cd build_ocn ; make CLEAN ; cd .. ; fi
31     if test -f build_atm/Makefile ; then cd build_atm ; make CLEAN ; cd .. ; fi
32     fi
33 jmc 1.8 if test $kpr = 5
34     then
35     echo 'remove output files in rank_0,1,2 dir.'
36 jmc 1.11 rm -f pr_group std_outp comp_res.{ocn,atm,land,sice}
37 jmc 1.8 if test -d rank_0 ; then cd rank_0 ; rm -f Coupler.0000.clog ; cd .. ; fi
38     if test -d rank_1
39     then cd rank_1 ; rm -f *.data *.meta STD???.0000 UV-*.0001.clog ; cd .. ; fi
40     if test -d rank_2
41     then cd rank_2 ; rm -f *.data *.meta STD???.0000 UV-*.0001.clog ; cd .. ; fi
42     fi
43 jmc 1.1
44     if test $kpr = 1
45     then
46    
47 jmc 1.10 #- choice of the optfile: take a local one in dir verification with sufix '.mpi'
48     nbOpF=`ls ../linux_*.mpi 2> /dev/null | wc -l`
49     if test $nbOpF = 1
50     then
51 jmc 1.11 OPTFILE=`ls ../linux_*.mpi`
52     zz=`grep '^FC=' $OPTFILE`
53     echo " Using optfile: $OPTFILE (compiler=$zz)"
54 jmc 1.10 else echo 'Pb in finding optfile' ; exit;
55     fi
56 jmc 1.11 zz=`echo $OPTFILE | grep -c '^\/'`
57     if test $zz = 0 ; then OPTFILE="../$OPTFILE" ; fi
58 jmc 1.10 #---
59 jmc 1.1 echo '==== compile coupler:'
60     cd build_cpl
61     echo ' --- genmake2 (cpl):'
62 jmc 1.11 ../../../tools/genmake2 -of $OPTFILE -mpi -ieee > TTT.genmake.$$
63 jmc 1.1 tail -5 TTT.genmake.$$
64     echo ' --- make depend (cpl):'
65     make depend > TTT.mkdepend.$$
66     tail -5 TTT.mkdepend.$$
67     echo ' --- make (cpl):'
68     make > TTT.make.$$ 2>&1
69     tail -10 TTT.make.$$
70     echo ' ' ; cd $dir
71    
72     echo '==== compile OGCM:'
73     cd build_ocn
74     echo ' --- genmake2 (ocn):'
75 jmc 1.11 ../../../tools/genmake2 -of $OPTFILE -mpi -ieee > TTT.genmake.$$
76 jmc 1.1 tail -5 TTT.genmake.$$
77     echo ' --- make depend (ocn):'
78     make depend > TTT.mkdepend.$$
79     tail -10 TTT.mkdepend.$$
80     echo ' --- make (ocn):'
81     make > TTT.make.$$ 2>&1
82     tail -10 TTT.make.$$
83     echo ' ' ; cd $dir
84    
85     echo '==== compile AGCM:'
86     cd build_atm
87     echo ' --- genmake2 (atm):'
88 jmc 1.11 ../../../tools/genmake2 -of $OPTFILE -mpi -ieee > TTT.genmake.$$
89 jmc 1.1 tail -5 TTT.genmake.$$
90     echo ' --- make depend (atm):'
91     make depend > TTT.mkdepend.$$
92     tail -10 TTT.mkdepend.$$
93     echo ' --- make (atm):'
94     make > TTT.make.$$ 2>&1
95     tail -10 TTT.make.$$
96     echo ' ' ; cd $dir
97    
98     ls -l build_???/mitgcmuv
99    
100     fi
101    
102     if test $kpr = 2
103     then
104 jmc 1.7 /bin/rm -r -f rank_0 rank_1 rank_2
105 jmc 1.9 echo 'CP dir:' input_cpl '->' rank_0
106 jmc 1.1 cp -p -r input_cpl rank_0
107 jmc 1.9
108     echo 'CP dir:' input_ocn '->' rank_1
109 jmc 1.1 cp -p -r input_ocn rank_1
110     cd rank_1
111 jmc 1.9 ./prepare_run
112 jmc 1.1 cd $dir
113    
114 jmc 1.9 echo 'CP dir:' input_atm '->' rank_2
115     cp -p -r input_atm rank_2
116 jmc 1.1 cd rank_2
117 jmc 1.9 ./prepare_run
118 jmc 1.1 cd $dir
119    
120     fi
121    
122     if test $kpr = 3
123     then
124     ROOTDIR=$dir
125     rm -f rank_?/pickup*.ckptA.00?.00?.??ta
126     echo $ROOTDIR
127     tmpfil=TTT.$$
128    
129     rm -f pr_group ; touch pr_group
130 jmc 1.10 nc=0; xx=`hostname`
131     for dd1 in cpl ocn atm
132 jmc 1.1 do
133     echo $xx $nc $dir/build_$dd1/mitgcmuv >> pr_group
134     nc=1
135     done
136    
137     cd $ROOTDIR
138 jmc 1.10 # /usr/local/pkg/mpi/mpi-1.2.4..8a-gm-1.5/pgi/bin/mpirun.ch_gm -pg pr_group -wd $ROOTDIR --gm-kill 5 -v ./build_cpl/mitgcmuv > std_outp 2>&1
139     mpirun -p4pg pr_group -v ./build_cpl/mitgcmuv > std_outp 2>&1
140 jmc 1.1 tail -20 std_outp
141     ls -l rank_?/pickup*.ckptA.001.001.data
142    
143     fi
144    
145     if test $kpr = 4
146     then
147    
148     if test -f rank_1/STDOUT.0000
149     then echo '==> check Ocean output:'
150     /home/jmc/bin/comp_res rank_1/STDOUT.0000 results/ocnSTDOUT.0000
151 jmc 1.10 mv -f comp_res.log comp_res.ocn
152     echo ' '
153 jmc 1.1 else echo 'No Ocean output file in rank_1' ; fi
154    
155     if test -f rank_2/STDOUT.0000
156     then
157     echo '==> check Atmos output:'
158     /home/jmc/bin/comp_res rank_2/STDOUT.0000 results/atmSTDOUT.0000
159 jmc 1.10 mv -f comp_res.log comp_res.atm
160 jmc 1.1 echo '==> check Land output:'
161     /home/jmc/bin/comp_res rank_2/STDOUT.0000 results/atmSTDOUT.0000 L
162 jmc 1.10 mv -f comp_res.log comp_res.land
163 jmc 1.1 echo '==> check thSIce output:'
164     /home/jmc/bin/comp_res rank_2/STDOUT.0000 results/atmSTDOUT.0000 I
165 jmc 1.10 mv -f comp_res.log comp_res.sice
166     echo ' '
167 jmc 1.1 else echo 'No Atmos output file in rank_1' ; fi
168    
169     fi
170    
171     exit 0

  ViewVC Help
Powered by ViewVC 1.1.22