LWplot_TL
author A.M. Thurnherr <athurnherr@yahoo.com>
Thu, 16 Apr 2015 05:12:11 +0000
changeset 24 55acbdfa6ba2
parent 22 3bfb89eb67f8
child 26 b89d4b01fcc5
permissions -rwxr-xr-x
.

#!/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/$$