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

Annotation of /MITgcm_contrib/enderton/Diagnostics/DiagAuto/runCpl

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


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