#!/bin/bash
#
# usage: do_plot <datadir> <filter> (tmpfile2) (tmpfile3)
#
# filter should be either "all" or "conv"
# file2, file3 are optional intermediate output files

if [ -z "$1" ]; then 
    echo "usage: `basename $0` <datadir> <filter>"
    echo "where filter is either 'all' or 'conv'"
	exit
fi

TMP_FILE1=`mktemp /tmp/aitests.XXXXXX`; trap 'rm -f $TMP_FILE1' 0 1 15
TMP_FILE2=`mktemp /tmp/aitests.XXXXXX`; trap 'rm -f $TMP_FILE2' 0 1 15
TMP_FILE3=`mktemp /tmp/aitests.XXXXXX`; trap 'rm -f $TMP_FILE3' 0 1 15

empt=0
for x in $1/*.out; do
    echo $x
    y=`dirname $x`/`basename $x .out`.dat
    if [ "$2" == "all" ]; then
      awk -f test2col -v points=all < $x > $y
    elif [ "$2" == "conv" ]; then
      awk -f test2col < $x > $y
    else
      echo "unrecognized filter variable"
      exit
    fi

    if [ "$empt" = 0 ]; then
		cat $y >> $TMP_FILE1
        empt=1
        nc=`tail -1 $y | awk '{print NF;}'`
	else
        if [ $nc == "`tail -1 $y | awk '{print NF;}'`" ]; then
       		tail -1 $y >> $TMP_FILE1
        else
            echo Skipping $y because of wrong number of columns
        fi
	fi
done

#sed "s/inf/1e9/g" $TMP_FILE1 | sed "s/NAN/nan/g" | sed "s/<1e-9/1e-9/g" | sort -n > $TMP_FILE2
sed "s/NAN/nan/g" $TMP_FILE1 | sed "s/inf/1e2/g" | sort -n > $TMP_FILE2
head -1 $TMP_FILE2 > $TMP_FILE3
./avg.py < $TMP_FILE2 >> $TMP_FILE3
sed -i 's/nan/1e2/g' $TMP_FILE2
sed -i 's/nan/1e2/g' $TMP_FILE3
if [ -n "$3" ]; then
  cat $TMP_FILE2 > $3
fi
if [ -n "$4" ]; then
  cat $TMP_FILE3 > $4
fi
grep nan $TMP_FILE2
grep nan $TMP_FILE3
./plot.py $TMP_FILE2 $TMP_FILE3 $1/aitests.pdf $1

rm -f $TMP_FILE3
rm -f $TMP_FILE2
rm -f $TMP_FILE1

#xpdf $1/aitests.pdf &
