/[MITgcm]/MITgcm_contrib/enderton/Diagnostics/DiagAuto/runCpl
ViewVC logotype

Contents of /MITgcm_contrib/enderton/Diagnostics/DiagAuto/runCpl

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


Revision 1.1 - (show annotations) (download)
Mon Jan 31 15:43:27 2005 UTC (20 years, 5 months ago) by enderton
Branch: MAIN
CVS Tags: HEAD
 o Initial check in.

1 #! /usr/bin/env bash
2
3 #PBS -N RidgeWorld
4 #PBS -l nodes=8
5 #PBS -V
6 #PBS -q four
7
8 # ITRDA specific calls:
9 . /etc/profile.d/modules.sh
10 module add mpich/intel
11 module add python-ext
12
13 #-----------------------------------------------------------------------------#
14 # - Load PC parameters #
15 # - Determine stop iteration for this period #
16 #-----------------------------------------------------------------------------#
17 runDir=/net/ds-01/scratch-4/enderton/RidgeWorld
18 varlist="npcpl npocn exp matscript outDir figOutDir scrDir cplmonitor \
19 ocnmonitor period iitO iitA \
20 fitO fitA nitC nitO nitA nitOonly pChkptFreq taveFreq cpl_taveFreq \
21 dumpFreq monitorFreq exC exO exA exOOnly cplDir ocnDir atmDir dtA \
22 dtO dtC"
23 cd $runDir
24 source pc.vars
25 sitO=$(( $iitO + $nitO ))
26 sitA=$(( $iitA + $nitA ))
27 rm -f $cplmonitor
28 echo "Coupled period!" > $cplmonitor
29 echo "Actual start time, of script: "`date` >> $cplmonitor
30 echo "Simulation directory: "$runDir >> $cplmonitor
31 echo "Period: "$period >> $cplmonitor
32 echo "Period START iteration:" >> $cplmonitor
33 echo " Ocean "$iitO >> $cplmonitor
34 echo " Atmosphere "$iitA >> $cplmonitor
35 echo "Period STOP iteration:" >> $cplmonitor
36 echo " Ocean "$sitO >> $cplmonitor
37 echo " Atmosphere "$sitA >> $cplmonitor
38 echo "Overall FINAL iteration:" >> $cplmonitor
39 echo " Ocean "$fitO >> $cplmonitor
40 echo " Atmosphere "$fitA >> $cplmonitor
41
42
43 #-----------------------------------------------------------------------------#
44 # - Set coupled data file, and cpl_taveFreq in the ocean data.cpl file #
45 # - Set ocean and atmosphere data files #
46 #-----------------------------------------------------------------------------#
47 . $scrDir/setdatacpl $runDir/$cplDir $runDir/$ocnDir $nitC $cpl_taveFreq
48 . $scrDir/setdata $runDir/$ocnDir $iitO $nitO $pChkptFreq \
49 $taveFreq $dumpFreq $monitorFreq
50 . $scrDir/setdata $runDir/$atmDir $iitA $nitA $pChkptFreq \
51 $taveFreq $dumpFreq $monitorFreq
52
53
54 #-----------------------------------------------------------------------------#
55 # Run coupled model #
56 #-----------------------------------------------------------------------------#
57 nodelist=`cat $PBS_NODEFILE`
58 rm -f pr_group; touch pr_group
59 nc=0; type=C1
60 for ii in $nodelist; do
61 echo $ii $nc $runDir/executables/mitgcmuv.$type >> pr_group
62 if test $nc = 0 ; then type=O1 ; else type=A6 ; fi
63 nc=1
64 done
65 echo "Program goup file:" >> $cplmonitor
66 cat pr_group >> $cplmonitor
67 echo "Beginning model execution..." >> $cplmonitor
68 #mpirun -p4pg pr_group -v ./executables/$exC
69 #/usr/local/pkg/mpi/mpi-1.2.4..8a-gm-1.5/intel/bin/mpirun.ch_gm \
70 # -pg pr_group --gm-kill 5 -v ./executables/$exC
71 status=$?
72 echo "Ended with status: "$status >> $cplmonitor
73
74
75 #-----------------------------------------------------------------------------#
76 # Check for pickups #
77 #-----------------------------------------------------------------------------#
78 sitO0=`$scrDir/add0upto10c $sitO`
79 sitA0=`$scrDir/add0upto10c $sitA`
80 pickO=$runDir"/"$ocnDir"/pickup."$sitO0".001.001.data"
81 pickA=$runDir"/"$atmDir"/pickup."$sitA0".001.001.data"
82 if [ -f $pickO ]; then
83 echo "Ocn pickup present: "$pickO >> $cplmonitor
84 else
85 echo "Ocn pickup not present: "$pickO >> $cplmonitor; exit;
86 fi
87 if [ -f $pickA ]; then
88 echo "Atm pickup present: "$pickA >> $cplmonitor
89 else
90 echo "Atm pickup not present: "$pickA >> $cplmonitor; exit;
91 fi
92
93
94 #-----------------------------------------------------------------------------#
95 # Move old data (just copy pickups) #
96 #-----------------------------------------------------------------------------#
97 #. $scrDir/movedataCpl $npcpl $runDir $ocnDir $atmDir $outDir \
98 # $period $sitO0 $sitA0 $cplmonitor
99
100
101
102 #-----------------------------------------------------------------------------#
103 # Make plots #
104 #-----------------------------------------------------------------------------#
105 dirroot=$outDir/Cpl$period
106
107 matnA=$(( $taveFreq / $dtA ))
108 matiA=$(( $iitA + $matnA ))
109 matsA=$sitA
110
111 matnO=$(( $taveFreq / $dtO ))
112 matiO=$(( $iitO + $matnO ))
113 matsO=$sitO
114
115 matnC=$(( $cpl_taveFreq / $dtC ))
116 matiC=$(( $iitO + $matnC ))
117 matsC=$sitO
118
119 . $scrDir/MakeDiagScript.sh $matscript $exp $runDir $dirroot \
120 $figOutDir $dtA $dtO \
121 $matiA $matnA $matsA \
122 $matiO $matnO $matsO \
123 $matiC $matnC $matsC
124
125
126 #-----------------------------------------------------------------------------#
127 # Reset periodic coupling parameters #
128 #-----------------------------------------------------------------------------#
129 iitO=$sitO
130 iitA=$sitA
131 period=$(( $period + 1 ))
132 #rm -f pc.vars
133 #for i in $varlist; do
134 # echo $i'='`eval echo '$'$i` >> pc.vars.temp
135 #done
136 #mv pc.vars.temp pc.vars
137
138
139 #-----------------------------------------------------------------------------#
140 # Resubmit coupled model #
141 #-----------------------------------------------------------------------------#
142 if [ $iitO -ge $fitO ]; then
143 echo "New iitO exceeds fitO; All done!" >> $cplmonitor; exit
144 fi
145 if [ $iitA -ge $fitA ]; then
146 echo "New iitA exceeds fitA; All done!" >> $cplmonitor; exit
147 fi
148 qsub runCpl
149 qsub "analysis/"$matscript"_PBS"

  ViewVC Help
Powered by ViewVC 1.1.22