#!/usr/bin/env bash
# Test if there is at least one lightcurve file
for i in out*dat ;do if [ -f $i ]; then echo ok && break ;else echo "ERROR: There are no light curve files!!!" && exit 1 ;fi ;done
echo \# starting candidates-p.sh \#
echo " "
ALL=`grep -c " " m_sigma_bin.tmp`
echo "$ALL candidates were detected by rms-test"
echo " "
echo -e "Searching for periodic signal. \n It takes time...     (Ctrl+C to abort)"
rm -f candidates-p.txt candidates-p.lst candidates-p.err
#. autogen.sh
N=0
while read M I X Y NAME ;do
 N=`echo "$N+1"|bc -q`
 PERCENT=`echo "$N*100/$ALL"|bc -q`
 rm -f "$NAME".in
 echo -ne "[ANOVA] $N ($PERCENT%)  searching $NAME ..."
 ###
 while read JD M ERR REST ;do
  echo $JD $M $ERR >> "$NAME".in
 done < $NAME
 sort -n "$NAME".in > sort.tmp
 mv sort.tmp "$NAME".in
 SEARCH_OK=0
 #echo -ne " ok; searching... "
 echo -ne " 1 "
 lib/testor-period "$NAME" && lib/periodFilter/periodS2 "$NAME".in candidates-p.txt candidates-p.err && SEARCH_OK=1
 ### Try to drop a few points ###
 if [ $SEARCH_OK -eq 1 ];then
  rm -f "$NAME".in
  lib/drop_faint_points 3 $NAME
  while read JD M ERR REST ;do
   echo $JD $M $ERR >> "$NAME".in
  done < outDROP.dat
  sort -n "$NAME".in > sort.tmp
  mv sort.tmp "$NAME".in
  #lib/testor-period $FRAME_SIZE_X $FRAME_SIZE_Y "$NAME" && periodFilter/periodS2 "$NAME".in candidates-p.txt candidates-p.err
  lib/periodFilter/periodS2 "$NAME".in candidates-p.txt candidates-p.err
  rm -f outDROP.dat
  echo -ne "2 "
  rm -f "$NAME".in
  lib/drop_bright_points 3 $NAME
  while read JD M ERR REST ;do
   echo $JD $M $ERR >> "$NAME".in
  done < outDROP.dat
  sort -n "$NAME".in > sort.tmp
  mv sort.tmp "$NAME".in
  #lib/testor-period $FRAME_SIZE_X $FRAME_SIZE_Y "$NAME" && periodFilter/periodS2 "$NAME".in candidates-p.txt candidates-p.err
  lib/periodFilter/periodS2 "$NAME".in candidates-p.txt candidates-p.err
  rm -f outDROP.dat
  echo -ne "3 "
  rm -f "$NAME".in
  lib/drop_bright_points 3 $NAME
  mv outDROP.dat outDROP.dat.tmp
  lib/drop_bright_points 3 outDROP.dat.tmp
  while read JD M ERR REST ;do
   echo $JD $M $ERR >> "$NAME".in
  done < outDROP.dat
  sort -n "$NAME".in > sort.tmp
  mv sort.tmp "$NAME".in
  #lib/testor-period $FRAME_SIZE_X $FRAME_SIZE_Y "$NAME" && periodFilter/periodS2 "$NAME".in candidates-p.txt candidates-p.err
  lib/periodFilter/periodS2 "$NAME".in candidates-p.txt candidates-p.err
  rm -f outDROP.dat
  echo -ne "4 "
  rm -f "$NAME".in
  lib/drop_faint_points 5 $NAME
  while read JD M ERR REST ;do
   echo $JD $M $ERR >> "$NAME".in
  done < outDROP.dat
  sort -n "$NAME".in > sort.tmp
  mv sort.tmp "$NAME".in
  #lib/testor-period $FRAME_SIZE_X $FRAME_SIZE_Y "$NAME" && periodFilter/periodS2 "$NAME".in candidates-p.txt candidates-p.err
  lib/periodFilter/periodS2 "$NAME".in candidates-p.txt candidates-p.err
  rm -f outDROP.dat
  echo -ne "5 "
 fi
 ################################
 if [ $SEARCH_OK -eq 0 ];then
  echo "drop it"
 else
  echo "ok"
 fi
 rm -f "$NAME".in
 ####
done 
echo -ne "filtering out unsignificant periods... "
# 66 Oph
#periodFilter/periodFilter candidates-p.txt 4.9 200 > candidates-p.lst && echo "ok" 
# SA9
lib/periodFilter/periodFilter candidates-p.txt 4.5 200 > candidates-p.lst && echo "ok"
echo -ne "converting candidates-p.lst to VaST format... "
while read A B ;do 
 grep `basename $A .in` data.m_sigma 
done < candidates-p.lst > tt
mv -f tt candidates-p.lst && echo "ok"
echo \# end of candidates-p.sh \#
