psdlag-agn/scripts/create_plots.sh

74 lines
2.7 KiB
Bash
Raw Normal View History

2016-07-25 21:11:38 +00:00
#!/usr/bin/env bash
2016-07-12 20:24:21 +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.
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
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}."
echoPSD_tabfile=analyses/tables/${echo_band}_${err_type}_PSD.tab
refPSD_tabfile=analyses/tables/${ref_band}_${err_type}_PSD.tab
timelag_tabfile=analyses/tables/${echo_band}_≻_${ref_band}_${err_type}_timelag.tab
PSD_plotfile=analyses/plots/${echo_band}_≻_${ref_band}_${err_type}_PSD.png
timelag_plotfile=analyses/plots/${echo_band}_≻_${ref_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.
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 03:28:11 +00:00
# Plot PSD and save using gnuplot
# read ymin ymax <<< $(ywindow_of $timelag_tabfile)
# echo $ymin $ymax
2016-07-13 03:28:11 +00:00
cat scripts/templates/psd_freq.gp|
sed "s@%TITLE@Power Spectrum for Lightcurves $echo_band and $ref_band@"|
2016-07-13 03:28:11 +00:00
sed "s@%SUBTITLE@as reported by Fausnaugh et. al, STORM III, 2016@"|
sed "s@%FILE1@$refPSD_tabfile@"|
sed "s@%LABEL1@${ref_band} PSD@"|
2016-07-13 03:28:11 +00:00
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
# read ymin ymax <<< $(ywindow_of $timelag_tabfile)
2016-07-13 03:28:11 +00:00
cat scripts/templates/timelag_freq.gp|
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
rm tmp.*
2016-07-13 03:28:11 +00:00