94 |
echo "OK" |
echo "OK" |
95 |
} |
} |
96 |
|
|
97 |
testoutput_for_prop() |
testoutput_var() |
98 |
{ |
{ |
99 |
# testoutput_for_prop dir s1 label subdir extension |
# testoutput_var dir s1 label subdir extension |
100 |
# |
# |
101 |
# compares files $dir/$subdir/$OUTPUTFILE and $dir/results/output.txt |
# compares 1 variable output selected from file $dir/$subdir/$OUTPUTFILE |
102 |
# using search strings s1 and text label |
# with same output from reference file $dir/results/output.$extension |
103 |
|
# using search strings s1 and text label |
104 |
|
|
105 |
if [ $debug -gt 0 ]; then |
if [ $debug -gt 0 ]; then |
106 |
echo testoutput_for_prop: grep "$2" $1/$4/$OUTPUTFILE 1>&2 |
echo testoutput_var: grep "$2" $1/$4/$OUTPUTFILE 1>&2 |
107 |
fi |
fi |
108 |
if [ -r $1/$4/$OUTPUTFILE ]; then |
if [ -r $1/$4/$OUTPUTFILE ]; then |
109 |
grep "$2" $1/$4/$OUTPUTFILE | sed 's/.*=//' | cat -n > tmp1.txt |
grep "$2" $1/$4/$OUTPUTFILE | sed 's/.*=//' | cat -n > tmp1.txt |
115 |
return 99 |
return 99 |
116 |
fi |
fi |
117 |
else |
else |
118 |
echo testoutput_for_prop: $OUTPUTFILE from model run was not readable 1>&2 |
echo testoutput_var: $OUTPUTFILE from model run was not readable 1>&2 |
119 |
return 99 |
return 99 |
120 |
fi |
fi |
121 |
if [ $debug -gt 0 ]; then |
if [ $debug -gt 0 ]; then |
122 |
echo testoutput_for_prop: grep "$2" $1/results/output.$5 1>&2 |
echo testoutput_var: grep "$2" $1/results/output.$5 1>&2 |
123 |
fi |
fi |
124 |
grep "$2" $1/results/output.$5 | sed 's/.*=//' | cat -n > tmp2.txt |
grep "$2" $1/results/output.$5 | sed 's/.*=//' | cat -n > tmp2.txt |
125 |
lncntB=`wc -l tmp2.txt | awk '{print $1}' ` |
lncntB=`wc -l tmp2.txt | awk '{print $1}' ` |
137 |
fi |
fi |
138 |
has_nan=`cat tmp1.txt | grep -i nan | wc -l` |
has_nan=`cat tmp1.txt | grep -i nan | wc -l` |
139 |
if [ $has_nan -gt 0 ] ; then |
if [ $has_nan -gt 0 ] ; then |
140 |
echo testoutput_for_prop: $OUTPUTFILE contains $has_nan NaN values 1>&2 |
echo testoutput_var: $OUTPUTFILE contains $has_nan NaN values 1>&2 |
141 |
return 99 |
return 99 |
142 |
fi |
fi |
143 |
has_inf=`cat tmp1.txt | grep -i inf | wc -l` |
has_inf=`cat tmp1.txt | grep -i inf | wc -l` |
144 |
if [ $has_inf -gt 0 ] ; then |
if [ $has_inf -gt 0 ] ; then |
145 |
echo testoutput_for_prop: $OUTPUTFILE contains $has_inf Inf values 1>&2 |
echo testoutput_var: $OUTPUTFILE contains $has_inf Inf values 1>&2 |
146 |
return 99 |
return 99 |
147 |
fi |
fi |
148 |
if [ $debug -gt 0 ]; then |
if [ $debug -gt 0 ]; then |
149 |
echo testoutput_for_prop: join tmp1.txt tmp2.txt 1>&2 |
echo testoutput_var: join tmp1.txt tmp2.txt 1>&2 |
150 |
fi |
fi |
151 |
join tmp1.txt tmp2.txt | awk '{print $1 " " $2 " " $3}' > tmp3.txt |
join tmp1.txt tmp2.txt | awk '{print $1 " " $2 " " $3}' > tmp3.txt |
152 |
if [ $debug -gt 0 ]; then |
if [ $debug -gt 0 ]; then |
153 |
echo testoutput_for_prop: compare_lines 1>&2 |
echo testoutput_var: compare_lines 1>&2 |
154 |
fi |
fi |
155 |
if [ $verbose -gt 1 ]; then |
if [ $verbose -gt 1 ]; then |
156 |
cat tmp3.txt 1>&2 |
cat tmp3.txt 1>&2 |
161 |
digits_of_similarity=`./tr_cmpnum < tmp4.txt` |
digits_of_similarity=`./tr_cmpnum < tmp4.txt` |
162 |
if [ $digits_of_similarity -eq 99 ]; then |
if [ $digits_of_similarity -eq 99 ]; then |
163 |
if [ $verbose -gt 0 ]; then |
if [ $verbose -gt 0 ]; then |
164 |
echo testoutput_for_prop: No comparison was available for \"$2\" 1>&2 |
echo testoutput_var: No comparison was available for \"$2\" 1>&2 |
165 |
fi |
fi |
166 |
digits_of_similarity=99 |
digits_of_similarity=99 |
167 |
else |
else |
230 |
done |
done |
231 |
} |
} |
232 |
|
|
233 |
testoutput() |
testoutput_run() |
234 |
{ |
{ |
235 |
# testoutput directory subdir extension |
# testoutput_run directory subdir extension |
236 |
# |
# |
237 |
# test output in "directory" |
# test output from 1 run in "directory" |
238 |
if test "x$ADM" = x ; then |
if test "x$ADM" = x ; then |
239 |
if [ $debug -gt 0 ]; then |
if [ $debug -gt 0 ]; then |
240 |
echo testoutput: testoutput_for_prop $1 cg2d_init_res 1>&2 |
echo testoutput_run: testoutput_var $1 cg2d_init_res 1>&2 |
241 |
fi |
fi |
242 |
testoutput_for_prop $1 "cg2d_init_res" "cg2d init. residual" $2 $3; cg2dres=$? |
testoutput_var $1 "cg2d_init_res" "cg2d init. residual" $2 $3; cg2dres=$? |
243 |
if [ $debug -gt 0 ]; then |
if [ $debug -gt 0 ]; then |
244 |
echo testoutput: cg2dres=$cg2dres 1>&2 |
echo testoutput_run: cg2dres=$cg2dres 1>&2 |
245 |
fi |
fi |
246 |
testoutput_for_prop $1 "dynstat_theta_min" "theta minimum" $2 $3; tmin=$? |
testoutput_var $1 "dynstat_theta_min" "theta minimum" $2 $3; tmin=$? |
247 |
testoutput_for_prop $1 "dynstat_theta_max" "theta maximum" $2 $3; tmax=$? |
testoutput_var $1 "dynstat_theta_max" "theta maximum" $2 $3; tmax=$? |
248 |
testoutput_for_prop $1 "dynstat_theta_mean" "theta mean" $2 $3; tmean=$? |
testoutput_var $1 "dynstat_theta_mean" "theta mean" $2 $3; tmean=$? |
249 |
testoutput_for_prop $1 "dynstat_theta_sd" "theta s.d." $2 $3; tsd=$? |
testoutput_var $1 "dynstat_theta_sd" "theta s.d." $2 $3; tsd=$? |
250 |
testoutput_for_prop $1 "dynstat_salt_min" "salt minimum" $2 $3; smin=$? |
testoutput_var $1 "dynstat_salt_min" "salt minimum" $2 $3; smin=$? |
251 |
testoutput_for_prop $1 "dynstat_salt_max" "salt maximum" $2 $3; smax=$? |
testoutput_var $1 "dynstat_salt_max" "salt maximum" $2 $3; smax=$? |
252 |
testoutput_for_prop $1 "dynstat_salt_mean" "salt mean" $2 $3; smean=$? |
testoutput_var $1 "dynstat_salt_mean" "salt mean" $2 $3; smean=$? |
253 |
testoutput_for_prop $1 "dynstat_salt_sd" "salt s.d." $2 $3; ssd=$? |
testoutput_var $1 "dynstat_salt_sd" "salt s.d." $2 $3; ssd=$? |
254 |
testoutput_for_prop $1 "dynstat_uvel_min" "U minimum" $2 $3; umin=$? |
testoutput_var $1 "dynstat_uvel_min" "U minimum" $2 $3; umin=$? |
255 |
testoutput_for_prop $1 "dynstat_uvel_max" "U maximum" $2 $3; umax=$? |
testoutput_var $1 "dynstat_uvel_max" "U maximum" $2 $3; umax=$? |
256 |
testoutput_for_prop $1 "dynstat_uvel_mean" "U mean" $2 $3; umean=$? |
testoutput_var $1 "dynstat_uvel_mean" "U mean" $2 $3; umean=$? |
257 |
testoutput_for_prop $1 "dynstat_uvel_sd" "U s.d." $2 $3; usd=$? |
testoutput_var $1 "dynstat_uvel_sd" "U s.d." $2 $3; usd=$? |
258 |
testoutput_for_prop $1 "dynstat_vvel_min" "V minimum" $2 $3; vmin=$? |
testoutput_var $1 "dynstat_vvel_min" "V minimum" $2 $3; vmin=$? |
259 |
testoutput_for_prop $1 "dynstat_vvel_max" "V maximum" $2 $3; vmax=$? |
testoutput_var $1 "dynstat_vvel_max" "V maximum" $2 $3; vmax=$? |
260 |
testoutput_for_prop $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$? |
testoutput_var $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$? |
261 |
testoutput_for_prop $1 "dynstat_vvel_sd" "V s.d." $2 $3; vsd=$? |
testoutput_var $1 "dynstat_vvel_sd" "V s.d." $2 $3; vsd=$? |
262 |
|
|
263 |
# This is for PTRACERS |
# This is for PTRACERS |
264 |
for ii in $PTRACERS_NUM ; do |
for ii in $PTRACERS_NUM ; do |
270 |
#echo 'tst = '$tst |
#echo 'tst = '$tst |
271 |
if test "x$tst" = xt ; then |
if test "x$tst" = xt ; then |
272 |
a="trcstat_ptracer0" |
a="trcstat_ptracer0" |
273 |
testoutput_for_prop $1 "$a"$ii"_min" "p0"$ii"_min" $2 $3 |
testoutput_var $1 "$a"$ii"_min" "p0"$ii"_min" $2 $3 |
274 |
RETVAL=$? ; eval `echo "p0"$ii"_min="$RETVAL` |
RETVAL=$? ; eval `echo "p0"$ii"_min="$RETVAL` |
275 |
testoutput_for_prop $1 "$a"$ii"_max" "p0"$ii"_max" $2 $3 |
testoutput_var $1 "$a"$ii"_max" "p0"$ii"_max" $2 $3 |
276 |
RETVAL=$? ; eval `echo "p0"$ii"_max="$RETVAL` |
RETVAL=$? ; eval `echo "p0"$ii"_max="$RETVAL` |
277 |
testoutput_for_prop $1 "$a"$ii"_mean" "p0"$ii"_mean" $2 $3 |
testoutput_var $1 "$a"$ii"_mean" "p0"$ii"_mean" $2 $3 |
278 |
RETVAL=$? ; eval `echo "p0"$ii"_mean="$RETVAL` |
RETVAL=$? ; eval `echo "p0"$ii"_mean="$RETVAL` |
279 |
testoutput_for_prop $1 "$a"$ii"_sd" "p0"$ii"_sd" $2 $3 |
testoutput_var $1 "$a"$ii"_sd" "p0"$ii"_sd" $2 $3 |
280 |
RETVAL=$? ; eval `echo "p0"$ii"_sd="$RETVAL` |
RETVAL=$? ; eval `echo "p0"$ii"_sd="$RETVAL` |
281 |
fi |
fi |
282 |
done |
done |
1148 |
&& makemodel $dir/$builddir && make=Y \ |
&& makemodel $dir/$builddir && make=Y \ |
1149 |
&& linkdata $dir/$rundir $input_dirs \ |
&& linkdata $dir/$rundir $input_dirs \ |
1150 |
&& runmodel $dir/$rundir && run=Y \ |
&& runmodel $dir/$rundir && run=Y \ |
1151 |
&& results=`testoutput $dir $rundir "txt"` |
&& results=`testoutput_run $dir $rundir "txt"` |
1152 |
fi |
fi |
1153 |
|
|
1154 |
echo |
echo |
1173 |
run_clean $dir/tr_run.$ex |
run_clean $dir/tr_run.$ex |
1174 |
linkdata $dir/tr_run.$ex input.$ex input |
linkdata $dir/tr_run.$ex input.$ex input |
1175 |
runmodel $dir/tr_run.$ex && run=Y \ |
runmodel $dir/tr_run.$ex && run=Y \ |
1176 |
&& results=`testoutput $dir tr_run.$ex ${ex}".txt"` |
&& results=`testoutput_run $dir tr_run.$ex ${ex}".txt"` |
1177 |
fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}` |
fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}` |
1178 |
fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results` |
fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results` |
1179 |
fres="$fres.$ex" |
fres="$fres.$ex" |