/[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.6 - (hide annotations) (download)
Sun Nov 7 23:30:32 2004 UTC (19 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint57d_post, checkpoint57b_post, checkpoint57c_pre, checkpoint55j_post, checkpoint56b_post, checkpoint56c_post, checkpoint57a_post, checkpoint57a_pre, checkpoint57, checkpoint56, checkpoint57c_post, checkpoint56a_post
Changes since 1.5: +2 -2 lines
Coupler.0000.clog is back in rank_0

1 jmc 1.1 #! /bin/sh
2    
3 jmc 1.6 # $Header: /u/gcmpack/MITgcm/verification/cpl_aim+ocn/run_cpl_test,v 1.5 2004/10/28 20:46:45 jmc Exp $
4 jmc 1.1 # $Name: $
5    
6     Np=3
7 jmc 1.5 Opt=' '
8     Opt='-ieee'
9 jmc 1.1 if [ $# -lt 1 ]
10     then
11     echo 'Usage:'`basename $0`' step '
12     echo ' => test coupled set-up on myrinet cluster'
13     echo 'step = 0 : clean all directories'
14     echo 'step = 1 : compile the 3 executables (cpl,ocn,atm)'
15     echo 'step = 2 : copy input files and dir(s)'
16     echo "step = 3 : run on $Np processor"
17     echo 'step = 4 : check the results'
18     exit
19     fi
20     kpr=$1
21     dir=`pwd`
22    
23     #- only works from a 3 nodes PBS bach session ( qsub -I -l nodes=3:p4 )
24     # on myrinet cluster:
25     xx=`hostname | sed 's/[0-9]/X/g'`
26     if test $xx != 'myrinet-X-XX'
27     then
28     echo ' hostname='`hostname`
29     echo 'for now, works only on myrinet cluster'
30     exit 9
31     fi
32     if test 'dummy'$PBS_NODEFILE = 'dummy'
33     then
34     echo ' $PBS_NODEFILE not defined'
35     echo "for now, works only from a $Np nodes PBS bach session"
36     exit 8
37     else ncpus=`wc -l $PBS_NODEFILE | awk '{print $1}'`
38     if test $ncpus != $Np ; then
39     echo ' Nb of nodes from $PBS_NODEFILE =' $ncpus
40     echo "for now, works only from a $Np nodes PBS bach session"
41     exit 8
42     fi
43     fi
44    
45     #============================================================================
46    
47     if test $kpr = 0
48     then
49 jmc 1.6 rm -f genmake_optfile pr_group std_outp
50 jmc 1.1 rm -f build_???/TTT.*make.* build_???/TTT.mkdepend.*
51     /bin/rm -r -f rank_0 rank_1 rank_2
52     if test -f build_cpl/Makefile ; then cd build_cpl ; make CLEAN ; cd .. ; fi
53     if test -f build_ocn/Makefile ; then cd build_ocn ; make CLEAN ; cd .. ; fi
54     if test -f build_atm/Makefile ; then cd build_atm ; make CLEAN ; cd .. ; fi
55     fi
56    
57     if test $kpr = 1
58     then
59    
60 edhill 1.3 cp -p ../../tools/build_options/linux_ia32_ifc+mpi_cg01 genmake_optfile
61 jmc 1.1 echo '==== compile coupler:'
62     cd build_cpl
63     echo ' --- genmake2 (cpl):'
64 jmc 1.5 ../../../tools/genmake2 -of ../genmake_optfile $Opt > TTT.genmake.$$
65 jmc 1.1 tail -5 TTT.genmake.$$
66     echo ' --- make depend (cpl):'
67     make depend > TTT.mkdepend.$$
68     tail -5 TTT.mkdepend.$$
69     echo ' --- make (cpl):'
70     make > TTT.make.$$ 2>&1
71     tail -10 TTT.make.$$
72     echo ' ' ; cd $dir
73    
74     echo '==== compile OGCM:'
75     cd build_ocn
76     echo ' --- genmake2 (ocn):'
77 jmc 1.5 ../../../tools/genmake2 -of ../genmake_optfile $Opt > TTT.genmake.$$
78 jmc 1.1 tail -5 TTT.genmake.$$
79     echo ' --- make depend (ocn):'
80     make depend > TTT.mkdepend.$$
81     tail -10 TTT.mkdepend.$$
82     echo ' --- make (ocn):'
83     make > TTT.make.$$ 2>&1
84     tail -10 TTT.make.$$
85     echo ' ' ; cd $dir
86    
87     echo '==== compile AGCM:'
88     cd build_atm
89     echo ' --- genmake2 (atm):'
90 jmc 1.5 ../../../tools/genmake2 -of ../genmake_optfile $Opt > TTT.genmake.$$
91 jmc 1.1 tail -5 TTT.genmake.$$
92     echo ' --- make depend (atm):'
93     make depend > TTT.mkdepend.$$
94     tail -10 TTT.mkdepend.$$
95     echo ' --- make (atm):'
96     make > TTT.make.$$ 2>&1
97     tail -10 TTT.make.$$
98     echo ' ' ; cd $dir
99    
100     ls -l build_???/mitgcmuv
101    
102     fi
103    
104     if test $kpr = 2
105     then
106     cp -p -r input_cpl rank_0
107     cp -p -r input_ocn rank_1
108     cp -p -r input_atm rank_2
109    
110     cd rank_1
111     ./IMPORT_INPUT_FILES
112     cd $dir
113    
114     cd rank_2
115     ./SHARE_OCN_GRID '../rank_1'
116     cd $dir
117    
118     fi
119    
120     if test $kpr = 3
121     then
122     ROOTDIR=$dir
123     rm -f rank_?/pickup*.ckptA.00?.00?.??ta
124     echo $ROOTDIR
125     tmpfil=TTT.$$
126    
127     echo $PBS_NODEFILE
128     list=`cat $PBS_NODEFILE`
129     rm -f pr_group ; touch pr_group
130     nc=0 ; dd1=cpl ;
131     for xx in $list
132     do
133     echo $xx $nc $dir/build_$dd1/mitgcmuv >> pr_group
134     if test $nc = 0 ; then dd1=ocn ; else dd1=atm ; fi
135     nc=1
136     done
137    
138     cd $ROOTDIR
139 edhill 1.4 # -wd $ROOTDIR
140     /usr/local/pkg/mpi/mpi-1.2.4..8a-gm-1.5/pgi/bin/mpirun.ch_gm -pg pr_group --gm-kill 5 -v ./build_cpl/mitgcmuv > std_outp 2>&1
141 jmc 1.1 tail -20 std_outp
142     ls -l rank_?/pickup*.ckptA.001.001.data
143    
144     fi
145    
146     if test $kpr = 4
147     then
148    
149     if test -f rank_1/STDOUT.0000
150     then echo '==> check Ocean output:'
151     /home/jmc/bin/comp_res rank_1/STDOUT.0000 results/ocnSTDOUT.0000
152     echo ' '
153     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     echo '==> check Land output:'
160     /home/jmc/bin/comp_res rank_2/STDOUT.0000 results/atmSTDOUT.0000 L
161     echo '==> check thSIce output:'
162     /home/jmc/bin/comp_res rank_2/STDOUT.0000 results/atmSTDOUT.0000 I
163     echo ' '
164     else echo 'No Atmos output file in rank_1' ; fi
165    
166     fi
167    
168     exit 0

  ViewVC Help
Powered by ViewVC 1.1.22