#! /bin/sh
if [ "$LIGOSITE" == "LLO" ]; then
  SMD="SenseMonitor"
elif [ "$LIGOSITE" == "LHO" ]; then
   SMD="SenseMonitor_H1"
fi

TmpDir=/tmp
OutDir=$GDSAPACHE/PSD

rm -f $OutDir/*.dat*

for ID in $SMD ; do

  case $ID in
  "SenseMonitor")
     NAME=L1
     SFT=1
     ;;
  "SenseMonitor_H1")
     NAME=H1
     SFT=1
     ;;
  "SenseMonitor_H2")
     NAME=H2
     SFT=1
     ;;
  *)
     NAME=NA
     ;;
  esac

  echo $NAME

  InDir=$GDSAPACHE/monitor_reports/$ID

  echo $InDir

  N=`/bin/ls -alFtr $InDir | grep CalPSD_GPS_ | tail -1 | gawk '{print $9}'`
  nRoot=`echo $N | sed -a 's,\..*$,,'`

  F=$InDir/$N

  GPS=`cat $F | grep "#GPS start time of this data: " | gawk '{a=$7} END{print a}'`
  UNI=`cat $F | grep "#Units: "          | gawk '{gsub("#Units: ",""); a=$0} END{print a}'`
  FST=`cat $F | grep "#Frequency step (Hz): " | gawk '{a=$4} END{print a}'`
  MIF=`cat $F | grep "#Min Frequency (Hz): "  | gawk '{a=$4} END{print a}'`
  MAF=`cat $F | grep "#Max Frequency (Hz): "  | gawk '{a=$4} END{print a}'`

  echo "#GPS:" $GPS > $TmpDir/${nRoot}.dat

# cat $F | grep -v "#" | gawk 'BEGIN{sa=0;c=0;sI=0} {c++; a=sqrt($1)/Y; a/=1E+09; sa+=a; sI+=I; if(c==10){sI/=10;sa/=10;print sI, sa; c=0;sa=0;sI=0;}I+=S;}' I=$MIF S=$FST Y=$SFT > $TmpDir/$N:r.dat
# cat $F | grep -v "#" | gawk '{a=sqrt($1)/Y; a/=1E+09; print I, a; I+=S;}' I=$MIF S=$FST Y=$SFT >> $TmpDir/$N:r.dat
# cat $F | grep -v "#" | gawk '{a=(5/1100)*I; a*=4E-23; print I, a; I+=S;}' I=$MIF S=$FST Y=$SFT > $TmpDir/$N:r.dat
  cat $F \
    | grep -v "#" \
    | gawk '{a=$1; print I, a; I+=S;}' I=$MIF S=$FST Y=$SFT \
    >> $TmpDir/${nRoot}.dat

  echo $N
  head -15 $F
  echo $GPS $UNI $FST $MIF $MAF

  /bin/mv $TmpDir/${nRoot}.dat $OutDir/$NAME.dat

done

if [ "$LIGOSITE" == "LLO" ]; then
  cd $OutDir
  wget -t 1 http://blue.ligo-wa.caltech.edu/gds/PSD/H1.dat >& /dev/null
#  wget -t 1 http://blue.ligo-wa.caltech.edu/gds/PSD/H2.dat >& /dev/null

elif [ "$LIGOSITE" == "LHO" ]; then
  cd $OutDir
  wget -t 1 http://london.ligo-la.caltech.edu/gds/PSD/L1.dat >& /dev/null
fi

/bin/rm -f $OutDir/*.gif*

for I in H1 L1; do
  GPS=`cat $OutDir/$I.dat | grep GPS | gawk '{gsub("#GPS: ","");print $0}'`
  case "$I" in
  "H1")
    COL=1
    H1GPS=$GPS
    COLORPSD=1
    ;;
  "H2")
    COL=3
    H2GPS=$GPS
    COLORPSD=3
    ;;
  "L1")
    COL=2
    L1GPS=$GPS
    COLORPSD=2
    ;;
  *)
    COL=4
    ;;
  esac

  cat $OutDir/$I.dat \
    | grep -v "#" \
    | graph -T gif -x $MIF $MAF -x 20 4000 -l y -l x -C -g 3 -f 0.035 -h 0.75 \
            -u 0.15 -r 0.2 -w 0.7 -X "Frequency [Hz]" -Y "Strain [1/sqrt(Hz)]" \
            --title-font-size 0.035 \
            -L "Calibrated AS_Q spectrum $I at GPS:$GPS" \
            --bitmap-size 1280x1024 -m $COL \
    > $OutDir/$I.gif

  cat $OutDir/$I.dat | grep -v "#" | \
    graph -T gif -x $MIF $MAF -x 20 4000 -l y -l x -C -g 3 -f 0.035 -h 0.75 \
        -u 0.15 -r 0.2 -w 0.7 -X "Frequency [Hz]" -Y "Strain [1/sqrt(Hz)]" \
        --title-font-size 0.035 -L "Calibrated AS_Q spectrum $I at GPS:$GPS" \
        --bitmap-size 3000x1600 -m $COL > $OutDir/$I.L.gif

  cat $OutDir/$I.dat | grep -v "#" | \
    graph -T gif -x $MIF $MAF -x 20 4000 -l y -l x -C -g 3 -f 0.035 -h 0.75 \
        -u 0.15 -r 0.2 -w 0.7 -X "Frequency [Hz]" -Y "Strain [1/sqrt(Hz)]" \
        --title-font-size 0.035 -L "Calibrated AS_Q spectrum $I at GPS:$GPS" \
        --bitmap-size 1000x600 -m $COL  > $OutDir/$I.S.gif

  cd $OutDir
  /bin/rm -f PSD SRD Reference

  /bin/ln -s $OutDir/$I.dat PSD
  /bin/ln -s $OutDir/{$I}_SRD SRD
  /bin/ln -s $OutDir/{$I}_Ref Reference

  TIT="$I at GPS:$GPS"
  cat {$OutDir}/SingleIFO | \
    gawk '{gsub("TITLE",t); gsub("COLORPSD",CCC); print $0}' \
         t="$TIT" CCC=$COLORPSD > {$OutDir}/SingleIFO.{$I}
  gnuplot {$OutDir}/SingleIFO.{$I}
  mv {$OutDir}/PLOT.png {$OutDir}/{$I}_SIFO.png

done

/bin/rm $OutDir/SRD_4K
/bin/ln -s $OutDir/H1_SRD SRD_4K
TIT="H1 at GPS:$H1GPS, H2 at GPS:$H2GPS, L1 at GPS:$L1GPS"
cat {$OutDir}/MultiIFO | \
    gawk '{gsub("TITLE",t); print $0}' t="$TIT" > {$OutDir}/MultiIFO.{$I}
gnuplot {$OutDir}/MultiIFO.{$I}
/bin/mv {$OutDir}/PLOT.png {$OutDir}/MIFO.png
