/[MITgcm]/MITgcm_contrib/nesting_sannino/utils/mk_pgfile.sh
ViewVC logotype

Annotation of /MITgcm_contrib/nesting_sannino/utils/mk_pgfile.sh

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


Revision 1.2 - (hide annotations) (download) (as text)
Mon Dec 6 19:23:23 2010 UTC (14 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +13 -8 lines
File MIME type: application/x-sh
update notes and mk_pgfile script

1 jmc 1.1 #! /usr/bin/env bash
2    
3 jmc 1.2 # $Header: /u/gcmpack/MITgcm_contrib/nesting_sannino/utils/mk_pgfile.sh,v 1.1 2010/11/28 17:59:03 jmc Exp $
4 jmc 1.1 # $Name: $
5    
6 jmc 1.2 #-- Get list of machines
7     # NODEFILE=/tmp/53210.1.darwin/machines
8     # NODEFILE=$1
9     #-- On darwin cluster node (from qrsh session):
10     JOB_ID=`qstat | sed -n '3,$ p' | grep " $USER " | awk '{print $1}'`
11     NODEFILE="/tmp/$JOB_ID.1.darwin/machines"
12     echo " JOB_ID = '$JOB_ID' ; NODEFILE = '$NODEFILE'"
13     #--
14     if [ -f $NODEFILE ]; then
15     echo 'Machine file == '$NODEFILE
16 jmc 1.1 else
17 jmc 1.2 echo 'No machine file '$NODEFILE
18 jmc 1.1 exit
19     fi
20 jmc 1.2 ml=( `cat $NODEFILE` )
21 jmc 1.1
22     # Set root directory for run
23     #exe_root=/scratch/jmc/nesting
24     exe_root=`pwd`
25    
26     # Settings for driver
27     exe1=${exe_root}/run_driv/mitgcmuv
28     wdir1=${exe_root}/run_driv
29     np1=4
30    
31     # Settings for Med model config
32     exe2=${exe_root}/run_med/mitgcmuv
33     np2=40
34     wdir2=${exe_root}/run_med
35    
36    
37     # Settings for Gib model config
38     exe3=${exe_root}/run_gib/mitgcmuv
39     np3=20
40     wdir3=${exe_root}/run_gib
41    
42     echo "== root_dir: $exe_root"
43     echo "= driver on $np1 procs:"
44     ls -l $exe1
45     echo " in dir: $wdir1"
46     echo "= parent on $np2 procs:"
47     ls -l $exe2
48     echo " in dir: $wdir2"
49     echo "= child on $np3 procs:"
50     ls -l $exe3
51     echo " in dir: $wdir3"
52     npTot=`expr $np1 + $np2 + $np3`
53     echo "== total Nb of procs = $npTot"
54    
55     # remove all rank_N links
56     rm -f pgfile; touch pgfile
57     rm -f rank_[0-9] rank_[0-9][0-9]
58    
59     # Make proc group file for run and link directories
60     i=0
61    
62     #- Driver
63     exe=$exe1
64     wdir=$wdir1
65     ihi=$((${i}+${np1}))
66     echo ${ml[${i}]} 0 ${exe} >> pgfile
67     rdir=`echo $i | awk '{printf "rank_%d", $1}'`
68     echo ln -s $wdir $rdir
69     ln -s $wdir $rdir
70     i=$((${i}+1))
71     while [ $i -lt $ihi ]; do
72     echo ${ml[${i}]} 1 ${exe} >> pgfile
73     rdir=`echo $i | awk '{printf "rank_%d", $1}'`
74     echo ln -s $wdir $rdir
75     ln -s $wdir $rdir
76     i=$((${i}+1))
77     done
78    
79     #- MED
80     exe=${exe2}
81     wdir=$wdir2
82     ihi=$((${i}+${np2}))
83     while [ $i -lt $ihi ]; do
84     echo ${ml[${i}]} 1 ${exe} >> pgfile
85     rdir=`echo $i | awk '{printf "rank_%d", $1}'`
86     echo ln -s $wdir $rdir
87     ln -s $wdir $rdir
88     i=$((${i}+1))
89     done
90    
91     #- GIB
92     exe=${exe3}
93     wdir=$wdir3
94     ihi=$((${i}+${np3}))
95     while [ $i -lt $ihi ]; do
96     echo ${ml[${i}]} 1 ${exe} >> pgfile
97     rdir=`echo $i | awk '{printf "rank_%d", $1}'`
98     echo ln -s $wdir $rdir
99     ln -s $wdir $rdir
100     i=$((${i}+1))
101     done
102     npgfile=${i}
103    
104     source /etc/profile.d/modules.sh
105     module load mitgcm
106     echo '== command line to run:'
107     #echo ' mpirun.ch_mx -pg pgfile -np' $npgfile -wd ${wdir1} ${exe1}
108     echo ' mpirun -pg pgfile -np' $npgfile ${exe1} '>& std_outp'
109    
110    

  ViewVC Help
Powered by ViewVC 1.1.22