.
#!/bin/ksh
#======================================================================
# L W P L O T _ T L
# doc: Thu Oct 13 10:51:49 2011
# dlm: Sun Apr 5 22:54:26 2015
# (c) 2011 A.M. Thurnherr
# uE-Info: 24 0 NIL 0 0 72 2 2 4 NIL ofnI
#======================================================================
# HISTORY:
# Oct 13, 2011: - created
# Oct 14, 2011: - fiddled
# Oct 17, 2011: - turned into filter
# - added %run_label
# Nov 14, 2011: - added file layout check
# Mar 12, 2012: - sh -> ksh as this does not work with /bin/sh on MacOSX 10.6.4
# Apr 12, 2012: - made re-entrant
# Oct 12, 2012: - split dc/uc time lagging
# - reduced number of xtic labels
# Oct 16, 2012: - renamed elapsed to elapsed.LADCP
# Mar 23, 2013: - adapted to piece-wice time lagging
# Oct 30, 2103: - got rid of non-portable echo -e
# Apr 5, 2015: - made fixbb optional
# - BUG: ps file had not been closed properly (fixbb took care of that)
USAGE="Usage: $0 <eps-file> [in-file]"
[ $# -eq 2 ] && exec <"$2" "$0" "$1"
[ $# -ne 1 ] && { echo $USAGE >&2; exit 1; }
eps_file="$1"
while [ -z "$fields" ]
do
read line
[ ! -t 1 ] && echo "$line"
[ -z "$out_basename" ] && out_basename=`expr -- "$line" : '#ANTS#PARAMS#.*out_basename{\([^}]*\)}`
[ -z "$run_label" ] && run_label=`expr -- "$line" : '#ANTS#PARAMS#.*run_label{\([^}]*\)}`
[ -z "$min_elapsed" ] && min_elapsed=`expr -- "$line" : '#ANTS#PARAMS#.*elapsed.min{\([^}]*\)}`
[ -z "$max_elapsed" ] && max_elapsed=`expr -- "$line" : '#ANTS#PARAMS#.*elapsed.max{\([^}]*\)}`
[ -z "$bot_elapsed" ] && bot_elapsed=`expr -- "$line" : '#ANTS#PARAMS#.*elapsed.bot{\([^}]*\)}`
[ -z "$best_scan_offsets" ] && best_scan_offsets=`expr -- "$line" : '#ANTS#PARAMS#.*best_scan_offsets{\([^}]*\)}`
[ -z "$to_elapsed_limits" ] && to_elapsed_limits=`expr -- "$line" : '#ANTS#PARAMS#.*to_elapsed_limits{\([^}]*\)}`
[ -z "$fields" ] && fields=`expr -- "$line" : '#ANTS#FIELDS# \(.*\)' | sed -e s/{//g -e s/}//g`
done
set -- $fields
[ "$1" = elapsed.LADCP -a "$2" = scan_offset -a "$4" = downcast ] || {
echo "$0: file layout error ($1,$2,$4)" >&2
exit 1
}
eps_file="$PWD/$eps_file" # make outfile name absolute (hopefully, it is not already...)
mkdir /tmp/$$ # GMT makes tmpfiles and is not reentrant
cd /tmp/$$
TMPFILE=/tmp/$$.LWplot_TL
if [ ! -t 1 ]
then
tee $TMPFILE
else
cat > $TMPFILE
fi
[ -f .gmtdefaults4 ] ||
gmtset PAPER_MEDIA letter+ \
LABEL_FONT_SIZE 14 ANNOT_FONT_SIZE_PRIMARY 14 \
WANT_EURO_FONT true \
PLOT_DEGREE_FORMAT ddd:mm:ssF
R=-R`echo $min_elapsed/60|bc`/`echo $max_elapsed/60+1|bc`/-24/24
U=-R0/1/0/1
J=-JX10
awk '{if ($4 == 1) { print $1/60,$2; }}' $TMPFILE \
| psxy -P -K $J $R \
-Bf1a30:"Elapsed Time [min]":/f1a5:"Best Offset [scans]":WeSn \
-Sc0.1 -Gcoral \
> "$eps_file"
awk '{if ($4 == 0) { print $1/60,$2; }}' $TMPFILE \
| psxy -O -K $J $R -Sc0.1 -GSeaGreen \
>> "$eps_file"
fel=$min_elapsed # from-elapsed limit
set -- $best_scan_offsets
while [ -n "$1" ]
do
bso=$1
shift
best_scan_offsets=$@
set -- $to_elapsed_limits
tel=$1
shift
to_elapsed_limits=$@
{ echo `echo $fel/60|bc` $bso; echo `echo $tel/60+1|bc` $bso; } \
| psxy -O -K $R $J -W4/grey20 >> "$eps_file"
fel=$tel
set -- $best_scan_offsets
done
echo 0.02 0.98 12 0 0 TL $out_basename $run_label | pstext -O $U $J >> "$eps_file"
rm $TMPFILE
[ -n "`which fixbb`" ] && fixbb "$eps_file"
cd "$PWD"
rm -rf /tmp/$$