LADCP_w_postproc
author A.M. Thurnherr <athurnherr@yahoo.com>
Fri, 04 Sep 2015 06:38:44 +0000
changeset 31 d0ae3cb99021
parent 30 LADCP_w_regrid@7fb67e771d85
child 32 6041a20feb39
permissions -rwxr-xr-x
DoMORE-2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     1
#!/usr/bin/perl
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     2
#======================================================================
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     3
#                    L A D C P _ W _ R E G R I D 
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     4
#                    doc: Fri Apr 24 17:15:59 2015
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
     5
#                    dlm: Mon Jul 27 17:20:23 2015
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     6
#                    (c) 2015 A.M. Thurnherr
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
     7
#                    uE-Info: 182 21 NIL 0 0 72 2 2 4 NIL ofnI
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     8
#======================================================================
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     9
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    10
$antsSummary = 'edit and re-grid LADCP vertical-velocity samples';
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    11
$antsMinLibVersion = 6.1;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    12
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    13
# HISTORY:
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    14
#	Apr 24, 2015: - created
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    15
#	Apr 25, 2015: - maded gridding work
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    16
#	Apr 26, 2015: - made editing work
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    17
#	Apr 27, 2015: - added -p
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    18
#	May  5, 2015: - modified Editfile syntax to use parens()
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    19
#	May  7, 2015: - allow leading whitespace before Editfile labels
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    20
#	May 17, 2015: - removed warning about missing ./Editfile
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    21
#	May 18, 2015: - added important %PARAMs for dual-head data
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    22
#				  - updated to libV6.1
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    23
#	May 19, 2015: - added hab to output
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    24
#				  - allow setting %PARAMS in Editfile
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    25
#	May 20, 2015: - Editfile => EditParams
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    26
#	Jun 18, 2015: - added -i
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    27
#				  - implemented default output on -t stdout
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    28
#				  - changed to libGMT.pl
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    29
#				  - removed dead -d option
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    30
#	Jul 26, 2015: - adapted for %outgrid_*
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    31
#	Jul 27, 2015: - B-t)rack <wprof>
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    32
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    33
($ANTS) = (`which ANTSlib` =~ m{^(.*)/[^/]*$});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    34
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    35
die("$0: ANTSlib required but not found (bad \$PATH?)\n")
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    36
	unless ($ANTS ne '');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    37
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    38
require "$ANTS/ants.pl";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    39
require "$ANTS/libstats.pl";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    40
require "$ANTS/libGMT.pl";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    41
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    42
&antsUsage('b:i:k:o:p:t:',1,
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    43
	'[profile -i)d <id>]',
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    44
	'[-o)utput bin <resolution[10m]>] [-k) require <min> samples]',
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    45
#	'[valid LADCP -b)ins <bin[2],bin[*][,bin[2],bin[*]]>',
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    46
	'[-p)lot <[%03d_wprof.eps]> [B-t)rack <wprof>]]',
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    47
	'<.samp file> [.samp file]');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    48
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    49
$dual_head = (@ARGV==1);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    50
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    51
$opt_o_override = defined($opt_o);
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    52
$opt_o = $P{outgrid_dz};
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    53
&antsCardOpt(\$opt_o,10);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    54
	
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    55
$opt_k_override = defined($opt_k);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    56
$opt_k = 2 * $P{ouput_grid_minsamp}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    57
	if defined($P{ouput_grid_minsamp});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    58
&antsCardOpt(\$opt_k,$dual_head?40:20);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    59
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    60
if (defined($opt_b)) {
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    61
	croak("$0: -b not implemented yet\n");
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    62
	($LADCP_firstBin,$LADCP_lastBin) = split(',',$opt_b);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    63
	croak("$0: cannot decode -b $opt_b\n")
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    64
		unless (numberp($LADCP_firstBin) &&
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    65
				($LADCP_lastBin eq '*' || numberp($LADCP_lastBin)));
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    66
}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    67
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    68
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    69
# Redirect STDOUT to %.wprof & create %_wprof.ps if STDOUT is a tty
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    70
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    71
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    72
$id = defined($opt_i) ? $opt_i : &antsParam('profile_id');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    73
croak("$0: no profile_id in first file => -i required\n")
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    74
	unless defined($id);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    75
	
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    76
if (-t STDOUT) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    77
	$opt_p = '%03d_wprof.ps' unless defined($opt_p);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    78
	$outfile = sprintf('%03d.wprof',$id);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    79
	open(STDOUT,">$outfile") || die("$outfile: $!\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    80
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    81
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    82
croak("$0: -t only makes sense when a plot is produced\n")
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    83
	if $opt_t && !defined($opt_p);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    84
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    85
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    86
# Library
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    87
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    88
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    89
my(@dscMin,@dscMax,@dscDUc);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    90
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    91
sub discard($$$)										# define bad-data filter
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    92
{
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    93
	my($fnm,$min,$max) = @_;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    94
	my($fnr) = fnr($fnm);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    95
	$dscMin[$fnr] = numberp($min) ? $min : -9e99;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    96
	$dscMax[$fnr] = numberp($max) ? $max :  9e99;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    97
	$dscDUc[$fnr] = 2;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    98
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    99
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   100
sub discard_dc($$$)										# define bad-data filter
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   101
{
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   102
	my($fnm,$min,$max) = @_;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   103
	my($fnr) = fnr($fnm);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   104
	$dscMin[$fnr] = numberp($min) ? $min : -9e99;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   105
	$dscMax[$fnr] = numberp($max) ? $max :  9e99;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   106
	$dscDUc[$fnr] = 1;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   107
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   108
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   109
sub discard_uc($$$)										# define bad-data filter
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   110
{
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   111
	my($fnm,$min,$max) = @_;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   112
	my($fnr) = fnr($fnm);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   113
	$dscMin[$fnr] = numberp($min) ? $min : -9e99;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   114
	$dscMax[$fnr] = numberp($max) ? $max :  9e99;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   115
	$dscDUc[$fnr] = 0;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   116
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   117
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   118
sub isBad()
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   119
{
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   120
	for (my($f)=0; $f<$antsBufNFields; $f++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   121
		next unless defined($dscDUc[$f]);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   122
		next unless ($dscDUc[$f]==2 || $dscDUc[$f]==$ants_[0][$dcF]);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   123
		return 1 unless ($ants_[0][$f] < $dscMin[$f]) ||
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   124
				        ($ants_[0][$f] > $dscMax[$f]);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   125
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   126
	return 0;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   127
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   128
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   129
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   130
# Edit Data
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   131
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   132
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   133
$wF = &fnr('w');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   134
$eF = &fnr('elapsed');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   135
$dF = &fnr('depth');
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   136
$bF = &fnr('bin');
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   137
$dcF = &fnr('downcast');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   138
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   139
$first_label 	= &antsRequireParam('run_label');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   140
$bin_length 	= &antsRequireParam('ADCP_bin_length');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   141
$pulse_length   = &antsRequireParam('ADCP_pulse_length');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   142
$blanking_dist  = &antsRequireParam('ADCP_blanking_distance');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   143
($dayNoP,$dn) = &antsFindParam('dn\d\d');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   144
croak("$0: cannot determine day number\n")
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   145
	unless defined($dayNoP);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   146
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   147
my($R,$R2);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   148
if ($opt_p) {												# begin plot
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   149
	$xmin = -0.1; $x2min = -200;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   150
	$xmax = 0.35; $x2max =	200;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   151
	$ymin =  0;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   152
	$ymax = antsParam('water_depth');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   153
	$ymax = antsRequireParam('max_depth') unless defined($ymax);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   154
	$plotsize = 13;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   155
	$R	= "-R$xmin/$xmax/$ymin/$ymax";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   156
	$R2 = "-R$x2min/$x2max/$ymin/$ymax";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   157
	GMT_begin(sprintf($opt_p,$id),"-JX$plotsize/-$plotsize",$R,'-X6 -Y4');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   158
	GMT_psxy('-W1');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   159
	print(GMT "0 $ymin\n0 $ymax");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   160
	GMT_psxy('-L -G200');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   161
	print(GMT "0.07 $ymin\n0.07 $ymax\n0.18 $ymax\n0.18 $ymin\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   162
	GMT_setR($R2);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   163
	GMT_psxy('-M -W1');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   164
	print(GMT ">\n50 $ymin\n50 $ymax\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   165
	print(GMT ">\n100 $ymin\n100 $ymax\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   166
	print(GMT ">\n150 $ymin\n150 $ymax\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   167
	GMT_setR($R);
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   168
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   169
	if (defined($opt_t)) {
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   170
		open(BT,$opt_t) || croak("$opt_t: $!\n");
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   171
		@BTL = &antsFileLayout(BT);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   172
		my($BTwf,$BTdf,$BTmf,$BTnf);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   173
		for (my($f)=0; $f<=$#BTL; $f++) {
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   174
			$BTdf = $f if ($BTL[$f] eq 'depth');
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   175
			$BTwf = $f if ($BTL[$f] eq 'BT_w');
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   176
			$BTmf = $f if ($BTL[$f] eq 'BT_w.mad');
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   177
			$BTnf = $f if ($BTL[$f] eq 'BT_w.nsamp');
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   178
		}
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   179
		croak("$opt_t: file-layout error\n")
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   180
			unless defined($BTdf) && defined($BTwf) &&
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   181
				   defined($BTmf) && defined($BTnf);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   182
		GMT_psxy('-W6');
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   183
		while (@BT = &antsFileIn(BT)) {
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   184
			next unless numberp($BT[$BTwf]);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   185
			printf(GMT "%f %f\n",$BT[$BTwf],$BT[$BTdf]);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   186
		}
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   187
	}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   188
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   189
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   190
$min_depth =  9e99;										# sentinels
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   191
$max_depth = -9e99;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   192
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   193
$curF = '';												# current input file (sentinel)
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   194
$filt = 0;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   195
for (my($curF),$r=0; &antsIn(); $r++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   196
	if ($P{PATHNAME} ne $curF) {						# new file
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   197
		$curF = $P{PATHNAME};
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   198
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   199
		&antsInfo("WARNING: inconsistent %outgrid_dz in input files")
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   200
			if (defined($P{outgrid_dz}) && $P{outgrid_dz}!=$opt_o &&!$opt_o_override);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   201
		&antsInfo("WARNING: inconsistent %outgrid_minsamp in input files")
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   202
			if (defined($P{outgrid_minsamp}) && $P{outgrid_minsamp}*2!=$opt_k &&!$opt_k_override);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   203
		
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   204
		$bin_length = sprintf('%d & %d',round($bin_length),($P{ADCP_bin_length}))
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   205
			unless (round($bin_length) == round($P{ADCP_bin_length}));
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   206
		$pulse_length = sprintf('%d & %d',round($pulse_length),round($P{ADCP_pulse_length}))
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   207
			unless (round($pulse_length) == round($P{ADCP_pulse_length}));
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   208
		$blanking_dist = sprintf('%d & %d',round($blanking_dist),($P{ADCP_blanking_distance}))
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   209
			unless (round($blanking_dist) == round($P{ADCP_blanking_distance}));
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   210
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   211
		$PROF = $STN = $id; $RUN = antsRequireParam('run_label');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   212
		undef(@dscMin); undef(@dscMax);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   213
		do "./EditParams";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   214
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   215
		if (@dcw1) {									# 2nd file in dual-head profile => plot 1st
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   216
			GMT_psxy('-W2,255/127/80,-');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   217
			for (my($bi)=0; $bi<=$#dcw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   218
				printf(GMT "%f %f\n",median(@{$dcw1[$bi]}),($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   219
			}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   220
			GMT_psxy('-W2,46/139/87,-');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   221
			for (my($bi)=0; $bi<=$#ucw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   222
				printf(GMT "%f %f\n",median(@{$ucw1[$bi]}),($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   223
			}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   224
			undef(@dcw1); undef(@ucw1);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   225
		}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   226
	}
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   227
	next if ($ants_[0][$bF]<$P{outgrid_firstbin}-1 || $ants_[0][$bF]>$P{outgrid_lastbin}-1);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   228
	$filt++,next if &isBad();
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   229
	$min_depth = $ants_[0][$dF] if ($ants_[0][$dF] < $min_depth);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   230
	$max_depth = $ants_[0][$dF] if ($ants_[0][$dF] > $max_depth);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   231
	my($bi) = $ants_[0][$dF]/$opt_o;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   232
	if ($ants_[0][$dcF]) {								# downcast
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   233
		push(@{$dcw[$bi]},$ants_[0][$wF]);				# vertical velocity
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   234
		push(@{$dcw1[$bi]},$ants_[0][$wF]) if ($dual_head);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   235
		push(@{$dce[$bi]},$ants_[0][$eF]);	 			# elapsed time
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   236
	} else {								 			# upcast
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   237
		push(@{$ucw[$bi]},$ants_[0][$wF]);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   238
		push(@{$ucw1[$bi]},$ants_[0][$wF]) if ($dual_head);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   239
		push(@{$uce[$bi]},$ants_[0][$eF]);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   240
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   241
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   242
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   243
if (@dcw1) {											# 2nd file in dual-head profile in buffer => plot it
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   244
	GMT_psxy('-W2,255/127/80,.');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   245
	for (my($bi)=0; $bi<=$#dcw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   246
		printf(GMT "%f %f\n",median(@{$dcw1[$bi]}),($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   247
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   248
	GMT_psxy('-W2,46/139/87,.');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   249
	for (my($bi)=0; $bi<=$#ucw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   250
		printf(GMT "%f %f\n",median(@{$ucw1[$bi]}),($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   251
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   252
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   253
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   254
&antsInfo("%d measurements edited (%d%% of total)",$filt,round(100*$filt/$r))
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   255
	if ($filt > 0);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   256
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   257
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   258
# Average and Output Profile, Add to Plot
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   259
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   260
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   261
@antsNewLayout = ('depth','hab',
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   262
				  'dc_elapsed','dc_w','dc_w.mad','dc_w.nsamp',
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   263
				  'uc_elapsed','uc_w','uc_w.mad','uc_w.nsamp');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   264
				  		  
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   265
if ($dual_head) {										# selected %PARAMs only
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   266
	&antsAddParams('profile_id',$id,'lat',$P{lat},'lon',$P{lon});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   267
	&antsAddParams($dayNoP,$dn,'run_label',"$first_label & $P{run_label}");
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   268
	&antsAddParams('outgrid_dz',$opt_o,'outgrid_minsamp',$opt_k);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   269
	&antsAddParams('outgrid_firstbin',$P{outgrid_firstbin},'outgrid_lastbin',$P{outgrid_lastbin});
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   270
	&antsAddParams('ADCP_bin_length',round($bin_length),'ADCP_pulse_length',round($pulse_length))
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   271
	&antsAddParams('ADCP_blanking_distance',round($blanking_dist));
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   272
	&antsAddParams('min_depth',round($min_depth),'max_depth',round($max_depth));
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   273
	&antsAddParams('water_depth',$P{water_depth},'water_depth.sig',$P{water_depth.sig});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   274
	undef($antsOldHeaders);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   275
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   276
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   277
&antsInfo("WARNING: unknown water depth (no height-above-bottom)")
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   278
	unless numberp($P{water_depth});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   279
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   280
my(@dcwm,@ucwm,@dcns,@ucns,@dcwmad,@ucwmad);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   281
for (my($bi)=0; $bi<=max($#dcw,$#ucw); $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   282
	$dcwm[$bi] = median(@{$dcw[$bi]}); 
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   283
	$ucwm[$bi] = median(@{$ucw[$bi]});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   284
	$dcns[$bi] = @{$dcw[$bi]};
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   285
	$ucns[$bi] = @{$ucw[$bi]};
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   286
	$dcwmad[$bi] = mad2($dcwm[$bi],@{$dcw[$bi]});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   287
	$ucwmad[$bi] = mad2($ucwm[$bi],@{$ucw[$bi]});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   288
	push(@{$out[$bi]},
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   289
			 ($bi+0.5)*$opt_o,
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   290
			 (numberp($P{water_depth}) ? $P{water_depth}-($bi+0.5)*$opt_o : nan),
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   291
			 avg(@{$dce[$bi]}),
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   292
			 (($dcns[$bi]>=$opt_k)?$dcwm[$bi]:nan),(($dcns[$bi]>=$opt_k)?$dcmad[$bi]:nan),
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   293
			 scalar(@{$dcw[$bi]}),
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   294
			 avg(@{$uce[$bi]}),
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   295
			 (($ucns[$bi]>=$opt_k)?$ucwm[$bi]:nan),(($ucns[$bi]>=$opt_k)?$ucmad[$bi]:nan),
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   296
			 scalar(@{$ucw[$bi]}));
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   297
	&antsOut(@{$out[$bi]});				 
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   298
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   299
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   300
if ($opt_p) {																		# complete plot
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   301
	GMT_setR($R);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   302
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   303
	GMT_psxy('-W4,255/127/80');														# median profiles
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   304
	for (my($bi)=0; $bi<=$#dcw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   305
		printf(GMT "%f %f\n",$dcwm[$bi],($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   306
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   307
	GMT_psxy('-W4,46/139/87');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   308
	for (my($bi)=0; $bi<=$#ucw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   309
		printf(GMT "%f %f\n",$ucwm[$bi],($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   310
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   311
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   312
	GMT_psxy('-Sc0.1 -G255/127/80');												# m.a.d. profiles
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   313
	for (my($bi)=0; $bi<=$#dcw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   314
		printf(GMT "%f %f\n",$dcwmad[$bi],($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   315
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   316
	GMT_psxy('-Sc0.1 -G46/139/87');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   317
	for (my($bi)=0; $bi<=$#ucw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   318
		printf(GMT "%f %f\n",$ucwmad[$bi],($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   319
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   320
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   321
	GMT_setR($R2);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   322
	GMT_psxy('-Mn -W1,255/127/80');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   323
	for (my($bi)=0; $bi<=$#dcw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   324
		printf(GMT "%f %f\n",$dcns[$bi],($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   325
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   326
	GMT_psxy('-Mn -W1,46/139/87');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   327
	for (my($bi)=0; $bi<=$#dcw1; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   328
		printf(GMT "%f %f\n",$ucns[$bi],($bi+0.5)*$opt_o);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   329
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   330
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   331
	GMT_psbasemap('-Bf10a1000-950:"                                     # of Samples":N');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   332
	GMT_psbasemap('-Ba1000-900N'); GMT_psbasemap('-Ba1000-850N');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   333
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   334
	$depth_tics = ($ymax-$ymin< 1000) ? 'f10a100' : 'f100a500';
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   335
	GMT_setR($R);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   336
	GMT_psbasemap('-Bf0.01a10-10.05:"Vertical Velocity [m/s]                               ":/' .
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   337
						$depth_tics . ':"Depth [m]":WeS');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   338
	GMT_psbasemap('-Ba10-9.95S'); GMT_psbasemap('-Ba10-9.85S');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   339
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   340
	GMT_setR('-R0/1/0/1');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   341
	GMT_pstext('-Gblue -N');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   342
	if (defined($outfile)) { print(GMT "0.01 -0.06 14 0 0 TL $outfile\n"); }
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   343
	else { printf(GMT "0.01 -0.06 14 0 0 TL %03d\n",$id); }
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   344
	GMT_pstext();
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   345
	print(GMT '0.62 0.98 12 0 0 MR m.a.d.');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   346
	GMT_end();
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   347
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   348
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   349
&antsExit(0);