#! /bin/bash
# Last edited on 2009-12-05 16:25:42 by stolfi

# Plots reformatted raw data ("rar" format).
# Assumes that input is "{TIME} {YEAR} {MONTH} {DAY} {SZ} {SU}"

early="$1"; shift
nodub="$1"; shift
datafile="$1"; shift

echo "${0##*/} early = ${early} nodub = ${nodub} datafile = ${datafile}" 1>&2

seppref="/tmp/$$-sep"
epsfile="/tmp/$$.eps"

for su in 0 1; do
  cat ${datafile} \
    | gawk -v su=${su} -v nodub=${nodub} \
        ' /^ *([\#]|$)/{ next; } 
          (($6 == su) && ((nodub == 0) || ($6 == 1))){ print; next; } 
          // { print ""; }
        ' \
    > ${seppref}-${su}.txt
done

if [[ ${early} -gt 0 ]]; then
  xrange="set xrange [2000.4:2005.6]"
  yrange="set yrange [-10:+530000]"
  evtics="30000"
else
  xrange="set xrange [2000.2:2010.8]"
  yrange="set yrange [-100:+3600000]"
  evtics="200000"
fi

gnuplot <<EOF
set term postscript eps color solid "TimesRoman" 24
set size 1.5,1.0
set output "${epsfile}"
set key left samplen 1.0

${xrange}
set grid xtics
set mxtics 12
set xtics 1.0
set xzeroaxis

${yrange}
set ytics format "%7.0f"
set grid ytics

bbot(i,j)=column(j)+0.7*(${evtics})
blen(i,j)=1.0*(${evtics})
btop(i,j)=bbot(i,j)+blen(i,j)
year(i)=(column(i)/365.25 + 2001)
plot \
  "data/counter-breaks.txt" using (year(1)):(btop(5,6)):(0.0):(-blen(5,6)) \
      notitle with vectors lw 3.0 lt rgb '#ee1177', \
  "${seppref}-1.txt" using (year(1)):(column(5)) title "N(t)" with points pt 7 ps 0.75 lt rgb '#0077ee', \
  "${seppref}-0.txt" using (year(1)):(column(5)) notitle with points pt 6 ps 0.75 lt rgb '#5599bb'
quit
EOF

cat ${epsfile}
gv ${epsfile}
rm -f ${epsfile} ${seppref}-*.txt
