2016-07-25 21:11:38 +00:00
|
|
|
#!/usr/bin/env bash
|
2016-07-12 20:24:21 +00:00
|
|
|
|
2016-07-13 20:16:09 +00:00
|
|
|
ywindow_of () {
|
|
|
|
max=0
|
|
|
|
min=-5
|
|
|
|
while read line
|
|
|
|
# for line in $(cat $1)
|
|
|
|
do
|
|
|
|
read xval yval xerr yerr <<< $line
|
|
|
|
echo $xval $yval
|
|
|
|
if (bc <<< "$yval > $max"); then max=$yval; fi
|
|
|
|
if (bc <<< "$yval < $min"); then min=$yval; fi
|
|
|
|
# done
|
|
|
|
done < $1
|
|
|
|
echo $(bc <<< "$min - 0.5") $(bc <<< "$max + 0.5")
|
|
|
|
}
|
|
|
|
|
2016-07-13 03:28:11 +00:00
|
|
|
mkdir -p analyses/tables
|
|
|
|
mkdir -p analyses/plots
|
|
|
|
|
|
|
|
|
2016-07-12 20:24:21 +00:00
|
|
|
for analysis in analyses/*
|
|
|
|
do
|
2016-07-13 03:28:11 +00:00
|
|
|
# Grab and determine labels of analyses, skip if over the same band.
|
2016-07-27 00:45:33 +00:00
|
|
|
ref_band=$(basename $analysis|sed 's@\([^≺]*\)_≺_[^≺_]*_[^_]*_[^_]*@\1@')
|
|
|
|
echo_band=$(basename $analysis|sed 's@[^≺]*_≺_\([^≺_]*\)_[^_]*_[^_]*@\1@')
|
2016-07-13 03:28:11 +00:00
|
|
|
if [[ $ref_band == $echo_band ]]; then continue; fi
|
2016-07-27 00:45:33 +00:00
|
|
|
err_type=$(basename $analysis|sed 's@[^≺]*_≺_[^≺_]*_[^_]*_\(σ∊[CLM][MFC]\)@\1@')
|
2016-07-13 03:28:11 +00:00
|
|
|
|
|
|
|
# Prepare files
|
|
|
|
echo "Plotting PSD and time lags for $echo_band, referred to ${ref_band}."
|
2016-07-26 21:27:16 +00:00
|
|
|
echoPSD_tabfile=analyses/tables/${echo_band}_${err_type}_PSD.tab
|
|
|
|
refPSD_tabfile=analyses/tables/${ref_band}_${err_type}_PSD.tab
|
2016-07-27 00:45:33 +00:00
|
|
|
timelag_tabfile=analyses/tables/${ref_band}_≺_${echo_band}_${err_type}_timelag.tab
|
|
|
|
PSD_plotfile=analyses/plots/${ref_band}_≺_${echo_band}_${err_type}_PSD.png
|
|
|
|
timelag_plotfile=analyses/plots/${ref_band}_≺_${echo_band}_${err_type}_timelag.png
|
2016-07-13 03:28:11 +00:00
|
|
|
|
|
|
|
# Output curves to temporary files using perl script, move tables to
|
|
|
|
# permanent location. This just assumes there are no conflicts.
|
2016-07-13 15:09:20 +00:00
|
|
|
scripts/create_tables.pl $analysis > /dev/null
|
2016-07-13 03:28:11 +00:00
|
|
|
mv tmp.echoPSD $echoPSD_tabfile
|
|
|
|
mv tmp.refPSD $refPSD_tabfile
|
2016-07-13 03:31:47 +00:00
|
|
|
mv tmp.timelag $timelag_tabfile
|
2016-07-13 03:28:11 +00:00
|
|
|
|
2016-07-13 20:16:09 +00:00
|
|
|
|
2016-07-13 03:28:11 +00:00
|
|
|
# Plot PSD and save using gnuplot
|
2016-07-13 20:16:09 +00:00
|
|
|
# read ymin ymax <<< $(ywindow_of $timelag_tabfile)
|
|
|
|
# echo $ymin $ymax
|
2016-07-13 03:28:11 +00:00
|
|
|
cat scripts/templates/psd_freq.gp|
|
2016-07-27 00:45:33 +00:00
|
|
|
sed "s|%TITLE|Power Spectrum for Lightcurves $echo_band and $ref_band|"|
|
|
|
|
sed "s|%SUBTITLE|as reported by Fausnaugh et. al, STORM III, 2016|"|
|
|
|
|
sed "s|%FILE1|$refPSD_tabfile|"|
|
|
|
|
sed "s|%LABEL1|${ref_band} PSD|"|
|
|
|
|
sed "s|%FILE2|$echoPSD_tabfile|"|
|
|
|
|
sed "s|%LABEL2|${echo_band} PSD|"|
|
|
|
|
sed "s|%YMIN|$ymin|"|sed "s|%YMAX|$ymax|"|
|
|
|
|
sed "s|%OUTPUTFILE|$PSD_plotfile|" > tmp.gp
|
2016-07-13 03:28:11 +00:00
|
|
|
gnuplot tmp.gp
|
|
|
|
|
|
|
|
# Plot time lags and save using gnuplot
|
2016-07-13 20:16:09 +00:00
|
|
|
# read ymin ymax <<< $(ywindow_of $timelag_tabfile)
|
2016-07-13 03:28:11 +00:00
|
|
|
cat scripts/templates/timelag_freq.gp|
|
2016-07-27 00:45:33 +00:00
|
|
|
sed "s|%TITLE|Time Lag for Lightcurve $echo_band relative to $ref_band|"|
|
|
|
|
sed "s|%SUBTITLE|as reported by Fausnaugh et. al, STORM III, 2016|"|
|
|
|
|
sed "s|%FILE1|$timelag_tabfile|"|
|
|
|
|
sed "s|%LABEL1|${echo_band} Lag|"|
|
|
|
|
sed "s|%YMIN|$ymin|"|sed "s|%YMAX|$ymax|"|
|
|
|
|
sed "s|%OUTPUTFILE|$timelag_plotfile|" > tmp.gp
|
2016-07-13 03:28:11 +00:00
|
|
|
gnuplot tmp.gp
|
2016-07-12 20:24:21 +00:00
|
|
|
done
|
2016-07-12 20:37:01 +00:00
|
|
|
|
2016-07-13 20:16:09 +00:00
|
|
|
rm tmp.*
|