/[MITgcm]/MITgcm_contrib/enderton/SimParameters/Rw3p0km_LW/runCpl
ViewVC logotype

Contents of /MITgcm_contrib/enderton/SimParameters/Rw3p0km_LW/runCpl

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


Revision 1.1 - (show annotations) (download)
Thu Nov 24 17:23:32 2005 UTC (19 years, 8 months ago) by enderton
Branch: MAIN
CVS Tags: HEAD
Adding to coupled gfd simulation data file and initial condition repository

1 #! /usr/bin/env bash
2
3 #PBS -N Rw3p0km_LW
4 #PBS -l ncpus=8
5 #PBS -l walltime=08:00:00
6 #PBS -q science@columbia2
7 #PBS -V
8
9
10 # Columbia specific calls:
11 . /usr/share/modules/init/bash
12
13
14 #-----------------------------------------------------------------------------#
15 # - Load PC parameters #
16 # - Determine stop iteration for this period #
17 #-----------------------------------------------------------------------------#
18 runDir=/nobackup/enderton/Rw3p0km_LW
19 varlist="npcpl npocn exp matscript outDir figOutDir scrDir cplmonitor \
20 ocnmonitor period iitO iitA fitO fitA nitC nitO nitA nitOonly \
21 pChkptFreq taveFreq cpl_taveFreq dumpFreq monitorFreq plotFreq \
22 exC exO exA exOOnly cplDir ocnDir atmDir dtA dtO dtC \
23 LocalScratch MakePlots PeriodicCoupling ocnForcingRoot gWeight"
24 cd $runDir
25 source pc.vars
26 sitO=$(($iitO+$nitO))
27 sitA=$(($iitA+$nitA))
28 iitO0=`$scrDir/add0upto10c $iitO`
29 iitA0=`$scrDir/add0upto10c $iitA`
30 sitO0=`$scrDir/add0upto10c $sitO`
31 sitA0=`$scrDir/add0upto10c $sitA`
32 rm -f $cplmonitor
33 echo "Coupled period!" > $cplmonitor
34 echo "Actual start time, of script: "`date` >> $cplmonitor
35 echo "Simulation directory: "$runDir >> $cplmonitor
36 echo "Period: "$period >> $cplmonitor
37 echo "Period START iteration:" >> $cplmonitor
38 echo " Ocean "$iitO >> $cplmonitor
39 echo " Atmosphere "$iitA >> $cplmonitor
40 echo "Period STOP iteration:" >> $cplmonitor
41 echo " Ocean "$sitO >> $cplmonitor
42 echo " Atmosphere "$sitA >> $cplmonitor
43 echo "Overall FINAL iteration:" >> $cplmonitor
44 echo " Ocean "$fitO >> $cplmonitor
45 echo " Atmosphere "$fitA >> $cplmonitor
46
47
48 #-----------------------------------------------------------------------------#
49 # - Set coupled data file, and cpl_taveFreq in the ocean data.cpl file #
50 # - Set ocean and atmosphere data files #
51 #-----------------------------------------------------------------------------#
52 . $scrDir/setdatacpl $runDir/$cplDir $runDir/$ocnDir $nitC $cpl_taveFreq
53 . $scrDir/setdata $runDir/$ocnDir $iitO $nitO $pChkptFreq \
54 $taveFreq $dumpFreq $monitorFreq
55 . $scrDir/setdata $runDir/$atmDir $iitA $nitA $pChkptFreq \
56 $taveFreq $dumpFreq $monitorFreq
57
58
59 #-----------------------------------------------------------------------------#
60 # Move pickup files to ocean rank, copy atmospheric pickup files forward #
61 #-----------------------------------------------------------------------------#
62 oldper=$((period-1))
63 rm $runDir/rank_*/pickup*
64 if [ $PeriodicCoupling -eq 0 ]; then
65 cp $outDir/Cpl$oldper/Ocn/pickup.$iitO0.* $ocnDir/.
66 for tile in `seq 6`; do
67 tile30=`$scrDir/add0upto3c $tile`
68 cp $outDir/Cpl$oldper/Atm/pickup*$iitA0.$tile30* \
69 $runDir/rank_$((tile+1))/.
70 done
71 fi
72 if [ $PeriodicCoupling -eq 1 ]; then
73 cp $outDir/Ocn$oldper/pickup.$iitO0.* $ocnDir/.
74 oldA=`$scrDir/add0upto10c $(($iitA-(8*$nitOonly)))`
75 oldO=`$scrDir/add0upto10c $(($iitO-$nitOonly))`
76 for tile in `seq 6`; do
77 for suffix in meta data; do
78 tile30=`$scrDir/add0upto3c $tile`
79 cp $outDir/Cpl$oldper/Atm/pickup.$oldA.$tile30.001.$suffix \
80 $runDir/rank_$((tile+1))/pickup.$iitA0.$tile30.001.$suffix
81 cp $outDir/Cpl$oldper/Atm/pickup_cpl.$oldA.$tile30.001.$suffix \
82 $runDir/rank_$((tile+1))/pickup_cpl.$iitA0.$tile30.001.$suffix
83 cp $outDir/Cpl$oldper/Atm/pickup_ic.$oldA.$tile30.001.$suffix \
84 $runDir/rank_$((tile+1))/pickup_ic.$iitA0.$tile30.001.$suffix
85 cp $outDir/Cpl$oldper/Atm/pickup_land.$oldA.$tile30.001.$suffix \
86 $runDir/rank_$((tile+1))/pickup_land.$iitA0.$tile30.001.$suffix
87 cp $outDir/Cpl$oldper/Ocn/pickup_cpl.$oldO.$tile30.001.$suffix \
88 $runDir/rank_1/pickup_cpl.$iitO0.$tile30.001.$suffix
89 done
90 done
91 fi
92
93 # Prepare run directories.
94 for rank in `seq 7`; do
95 if [ $rank -ge 3 ]; then
96 rm rank_$rank/data* rank_$rank/eedata rank_$rank/*.bin
97 cp rank_2/data* rank_$rank/.
98 cp rank_2/eedata rank_$rank/.
99 cp rank_2/*.bin rank_$rank/.
100 fi
101 done
102
103 echo "Beginning model execution..." >> $cplmonitor
104 mpirun -np 1 ./executables/mitgcmuv.c32.C1 \
105 : 1 ./executables/mitgcmuv.c32.O1 \
106 : 6 ./executables/mitgcmuv.c32.A6
107 status=$?
108 echo "Ended with status: "$status >> $cplmonitor
109
110
111 #-----------------------------------------------------------------------------#
112 # Move old data (just copy pickups) #
113 #-----------------------------------------------------------------------------#
114 . $scrDir/moveDataCpl $runDir $outDir $period $iitO0 \
115 $sitO0 $iitA0 $sitA0 $cplmonitor
116 rm rank_*/pickup*
117
118
119 #-----------------------------------------------------------------------------#
120 # Check for pickups #
121 #-----------------------------------------------------------------------------#
122 pickO=$outDir/Cpl$period/Ocn/pickup.$sitO0.001.001.data
123 pickA=$outDir/Cpl$period/Atm/pickup.$sitA0.001.001.data
124 if [ -f $pickO ]; then echo "Ocn pickup present: "$pickO >> $cplmonitor
125 else echo "No Ocn pickup: "$pickO >> $cplmonitor; exit; fi
126 if [ -f $pickA ]; then echo "Atm pickup present: "$pickA >> $cplmonitor
127 else echo "No Atm pickup: "$pickA >> $cplmonitor; exit; fi
128
129
130 #-----------------------------------------------------------------------------#
131 # Reset periodic coupling parameters #
132 #-----------------------------------------------------------------------------#
133 source pc.vars
134 iitO=$sitO
135 iitA=$sitA
136 if [ $PeriodicCoupling -eq 0 ]; then period=$(($period+1)); fi
137 rm -f pc.vars
138 for i in $varlist; do echo $i'='`eval echo '$'$i` >> pc.vars.temp; done
139 mv pc.vars.temp pc.vars
140
141
142 #-----------------------------------------------------------------------------#
143 # Resubmit coupled model #
144 #-----------------------------------------------------------------------------#
145 if [ $iitO -ge $fitO ]; then
146 echo "New iitO exceeds fitO; All done!" >> $cplmonitor; exit; fi
147 if [ $iitA -ge $fitA ]; then
148 echo "New iitA exceeds fitA; All done!" >> $cplmonitor; exit; fi
149 if [ $PeriodicCoupling -eq 0 ]; then qsub runCpl; fi
150 if [ $PeriodicCoupling -eq 1 ]; then qsub runOcn; fi

  ViewVC Help
Powered by ViewVC 1.1.22