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

#!/bin/ksh
#======================================================================
#					 L W P L O T _ W 
#                    doc: Sat Oct 15 13:42:50 2011
#                    dlm: Sun Apr  5 22:10:59 2015
#                    (c) 2011 A.M. Thurnherr
#                    uE-Info: 103 26 NIL 0 0 72 2 2 4 NIL ofnI
#======================================================================

# HISTORY:
#	Oct 15, 2011: - created
#	Oct 17, 2011: - turned into filter
#				  - added %run_label
#	Oct 19, 2011: - fiddled
#   Oct 24, 2011: - LADCP_bin_length => ADCP_bin_length
#	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
#	Apr  5, 2015: - made fixbb optional

#--------------------------------------------------
# Usage
#--------------------------------------------------

USAGE="Usage: $0 <eps-file> [in-file]"
	[ $# -eq 2 ] && exec <"$2" "$0" "$1"
	[ $# -ne 1 ] && { echo $USAGE >&2; exit 1; }
eps_file="$1"

#--------------------------------------------------
# Read Header Data
#--------------------------------------------------

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_depth" ] && min_depth=`expr -- "$line" : '#ANTS#PARAMS#.*min_depth{\([^}]*\)}`
	[ -z "$max_depth" ] && max_depth=`expr -- "$line" : '#ANTS#PARAMS#.*max_depth{\([^}]*\)}`
	[ -z "$min_ens" ] && min_ens=`expr -- "$line" : '#ANTS#PARAMS#.*min_ens{\([^}]*\)}`
	[ -z "$max_ens" ] && max_ens=`expr -- "$line" : '#ANTS#PARAMS#.*max_ens{\([^}]*\)}`
	[ -z "$ADCP_bin_length" ] && ADCP_bin_length=`expr -- "$line" : '#ANTS#PARAMS#.*ADCP_bin_length{\([^}]*\)}`
	[ -z "$fields" ] && fields=`expr -- "$line" : '#ANTS#FIELDS# \(.*\)' | sed -e s/{//g -e s/}//g`
done

set -- $fields
[ "$1" = ensemble -a "$4" = depth -a "$7" = w ] || {
	echo "$0: file layout error" >&2
	exit 1
}

#--------------------------------------------------
# Plot Data
#--------------------------------------------------

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_w
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 "scale=1;$min_ens-0.5"|bc`/`echo "scale=1;$max_ens+0.5"|bc`/`\
	 echo "scale=1;$min_depth-$ADCP_bin_length/2"|bc`/`echo "scale=1;$max_depth+$ADCP_bin_length/2"|bc`
U=-R0/1/0/1
X=-JX10/-10

ens_width=`echo "scale=5;10/($max_ens-$min_ens+1)"|bc`
bin_length=`echo "scale=5;10*$ADCP_bin_length/($max_depth-$min_depth+$ADCP_bin_length)"|bc`

awk "{print \$1, \$4, \$7, $ens_width, $bin_length}" $TMPFILE \
	| psxy -P -K $R $X -C`which LWplot_w | sed 's@LWplot_w$@w.cpt@'` -Sr > "$eps_file"
	
echo 0.02 0.02 12 0 0 TL $out_basename $run_label | pstext -O -K $U $X >> "$eps_file"

if [ 0 -eq `echo "($max_depth-$min_depth)>1000"|bc` ]
then
	depth_tics=f10a100
	ens_tics=f50a500
else
	depth_tics=f100a500
	ens_tics=f500a1000
fi

cat `which LWplot_w | sed 's@LWplot_w$@w_scale.skel@'` >> "$eps_file"

psbasemap -O $R $X -B$ens_tics:"Ensemble":/$depth_tics:"Depth [m]":WeSn >> "$eps_file"

rm $TMPFILE
[ -n "`which fixbb`" ] && fixbb "$eps_file"

cd "$PWD"
rm -rf /tmp/$$