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

Annotation of /MITgcm_contrib/enderton/SimParameters/Rw3p0km_LW/runCpl

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


Revision 1.1 - (hide 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 enderton 1.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