519 |
#include <math.h> |
#include <math.h> |
520 |
int main( int argc, char** argv ) { |
int main( int argc, char** argv ) { |
521 |
int linnum,best,lncnt; |
int linnum,best,lncnt; |
522 |
double a,b,diff; |
double a,b,abave,relerr; |
523 |
best = -16; |
best = -22; |
524 |
lncnt = 0; |
lncnt = 0; |
525 |
while( 1 & (lncnt+=1) < 999 ) { |
while( 1 & (lncnt+=1) < 999 ) { |
526 |
scanf("%d", &linnum); |
scanf("%d", &linnum); |
527 |
if (linnum == -1) break; |
if (linnum == -1) break; |
528 |
scanf("%lf", &a); scanf("%lf", &b); |
scanf("%lf", &a); scanf("%lf", &b); |
529 |
diff = 0.5*(fabs(a)+fabs(b)); |
abave = 0.5*(fabs(a)+fabs(b)); |
530 |
if (diff > 1.e-12) { |
if (abave > 0.0) { |
531 |
diff=fabs(a-b)/diff; |
relerr=fabs(a-b)/abave; |
532 |
if (diff > 0.0) { |
if (relerr > 0.0) { linnum = (int)log10(relerr); } |
533 |
linnum = (int)log10(diff); |
else { linnum = -16 ; } |
534 |
best = (best > linnum) ? best : linnum; |
best = (best > linnum) ? best : linnum; |
|
} |
|
|
else { |
|
|
if (best == -16 && diff != 0) best = -22; |
|
|
} |
|
535 |
} |
} |
536 |
} |
} |
537 |
if (lncnt == 999) best=-29; |
if (lncnt == 999) best=-29; |
877 |
fout= |
fout= |
878 |
if test "x$ADM" = x ; then |
if test "x$ADM" = x ; then |
879 |
fout=$dir"/results/output.txt" |
fout=$dir"/results/output.txt" |
|
check_for_add_mon_output $fout |
|
880 |
else |
else |
881 |
fout=$dir"/results_ad/output.txt_adm" |
fout=$dir"/results_ad/output.txt_adm" |
882 |
fi |
fi |
884 |
echo "can't read \"$fout\" -- skipping $dir" |
echo "can't read \"$fout\" -- skipping $dir" |
885 |
continue |
continue |
886 |
fi |
fi |
887 |
|
if test "x$ADM" = x ; then |
888 |
|
check_for_add_mon_output $fout |
889 |
|
fi |
890 |
|
|
891 |
# Check for additional types of monitor output |
# Check for additional types of monitor output |
892 |
|
|
964 |
echo "DATE='$DATE'" >> $CDIR"/summary.txt" |
echo "DATE='$DATE'" >> $CDIR"/summary.txt" |
965 |
echo "tdir='$dir'" >> $CDIR"/summary.txt" |
echo "tdir='$dir'" >> $CDIR"/summary.txt" |
966 |
|
|
|
OLD_COMMAND=$COMMAND |
|
|
COMMAND="./mitgcmuv > output.txt" |
|
967 |
for ex in $extra_runs ; do |
for ex in $extra_runs ; do |
968 |
test -e "$dir/tr_run.$ex" && rm -rf "$dir/tr_run.$ex" |
test -e "$dir/tr_run.$ex" && rm -rf "$dir/tr_run.$ex" |
969 |
mkdir "$dir/tr_run.$ex" |
mkdir "$dir/tr_run.$ex" |
996 |
echo "DATE='$DATE'" >> $CDIR"/summary.txt" |
echo "DATE='$DATE'" >> $CDIR"/summary.txt" |
997 |
echo "tdir='$dir'" >> $CDIR"/summary.txt" |
echo "tdir='$dir'" >> $CDIR"/summary.txt" |
998 |
done |
done |
|
COMMAND=$OLD_COMMAND |
|
999 |
else |
else |
1000 |
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}` |
1001 |
fres=$fres"$results $dir" |
fres=$fres"$results $dir" |