forked from dmidk/Icepack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathicepack.run.setup.csh
executable file
·108 lines (74 loc) · 2.48 KB
/
icepack.run.setup.csh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/bin/csh -f
#echo ${0}
echo "running icepack.run.setup.csh"
source ./icepack.settings
source ${ICE_CASEDIR}/env.${ICE_MACHCOMP} || exit 2
set jobfile = icepack.run
set subfile = icepack.submit
set nthrds = ${ICE_NTHRDS}
#==========================================
# Write the batch code into the job file
${ICE_SCRIPTS}/icepack.batch.csh ${jobfile}
if ($status != 0) then
echo "${0}: ERROR icepack.batch.csh aborted"
exit -1
endif
#==========================================
cat >> ${jobfile} << EOF1
#--------------------------------------------
cd ${ICE_CASEDIR}
source ./icepack.settings || exit 2
source ./env.\${ICE_MACHCOMP} || exit 2
echo " "
echo "\${0}:"
set stamp = \`date '+%y%m%d-%H%M%S'\`
set ICE_RUNLOG_FILE = "icepack.runlog.\${stamp}"
#--------------------------------------------
./setup_run_dirs.csh
#--------------------------------------------
cd \${ICE_RUNDIR}
setenv OMP_NUM_THREADS ${nthrds}
cp -f \${ICE_CASEDIR}/icepack_in \${ICE_RUNDIR}
cp -f \${ICE_CASEDIR}/env.\${ICE_MACHCOMP} \${ICE_RUNDIR}
cp -f \${ICE_CASEDIR}/icepack.settings \${ICE_RUNDIR}
echo " "
echo "ICEPACK rundir is \${ICE_RUNDIR}"
echo "ICEPACK log file is \${ICE_RUNLOG_FILE}"
echo "ICEPACK run started : \`date\`"
EOF1
#==========================================
# Write the job launching logic into the job file
${ICE_SCRIPTS}/icepack.launch.csh ${jobfile}
if ($status != 0) then
echo "${0}: ERROR icepack.launch.csh aborted"
exit -1
endif
#==========================================
cat >> ${jobfile} << EOFE
echo "ICEPACK run finished: \`date\`"
echo " "
#--------------------------------------------
if !(-d \${ICE_LOGDIR}) mkdir -p \${ICE_LOGDIR}
cp -p \${ICE_RUNLOG_FILE} \${ICE_LOGDIR}
foreach file (ice_diag.*)
cp -p \${file} \${ICE_LOGDIR}/\${file}.\${stamp}
end
grep ' ICEPACK COMPLETED SUCCESSFULLY' \${ICE_RUNLOG_FILE}
if ( \$status != 0 ) then
echo "ICEPACK run did not complete - see \${ICE_LOGDIR}/\${ICE_RUNLOG_FILE}"
echo "\`date\` \${0}: \${ICE_CASENAME} run did NOT complete \${ICE_RUNLOG_FILE}" >> \${ICE_CASEDIR}/README.case
exit -1
endif
echo "\`date\` \${0}: \${ICE_CASENAME} run completed \${ICE_RUNLOG_FILE}" >> \${ICE_CASEDIR}/README.case
echo "done \${0}"
EOFE
#==========================================
chmod +x ${jobfile}
#==========================================
cat >! ${subfile} << EOFS
#!/bin/csh -f
${ICE_MACHINE_SUBMIT} ./${jobfile}
echo "\`date\` \${0}: ${ICE_CASENAME} job submitted" >> ${ICE_CASEDIR}/README.case
EOFS
chmod +x ${subfile}
exit 0