LADCP_w_postproc
author A.M. Thurnherr <athurnherr@yahoo.com>
Tue, 06 Dec 2022 12:47:21 -0500
changeset 64 58ef697c01ae
parent 63 4832af086e8c
permissions -rwxr-xr-x
V2.2 release
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
#======================================================================
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
     3
#                    L A D C P _ W _ P O S T P R O C 
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     4
#                    doc: Fri Apr 24 17:15:59 2015
63
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
     5
#                    dlm: Mon Sep 19 18:33:30 2022
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     6
#                    (c) 2015 A.M. Thurnherr
63
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
     7
#                    uE-Info: 92 33 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
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    12
# HISTORY:
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    13
#	Apr 24, 2015: - created
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    14
#	Apr 25, 2015: - maded gridding work
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    15
#	Apr 26, 2015: - made editing work
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    16
#	Apr 27, 2015: - added -p
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    17
#	May  5, 2015: - modified Editfile syntax to use parens()
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    18
#	May  7, 2015: - allow leading whitespace before Editfile labels
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    19
#	May 17, 2015: - removed warning about missing ./Editfile
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    20
#	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
    21
#				  - updated to libV6.1
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    22
#	May 19, 2015: - added hab to output
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    23
#				  - allow setting %PARAMS in Editfile
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    24
#	May 20, 2015: - Editfile => EditParams
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    25
#	Jun 18, 2015: - added -i
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    26
#				  - implemented default output on -t stdout
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    27
#				  - changed to libGMT.pl
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    28
#				  - removed dead -d option
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    29
#	Jul 26, 2015: - adapted for %outgrid_*
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    30
#	Jul 27, 2015: - B-t)rack <wprof>
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    31
#	Sep 21, 2015: - added valid_bins()
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    32
#				  - replaced -t by -b
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    33
#				  - BUG: -k default was wrong
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    34
#				  - added error message output to EditParams
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    35
#	Sep 22, 2015: - added output_resolution()
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    36
#	Sep 24, 2015: - BUG: -k did not work any more
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    37
#				  - BUG: some plot commands were exectuted even without -p
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    38
#				  - BUG: wprof plot did not respect -k
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    39
#				  - BUG: typo in mad output
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    40
#	Sep 26, 2015: - allow $ID as alias for $STN and $PROF
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    41
#	Sep 27, 2015: - adapted to 'unknown' %water_depth
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    42
#	Oct 12, 2015: - improved EditParams handling
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    43
#				  - BUG: single-profile plot did not work any more
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    44
#				  - BUG: wrong single-profile bin size warning produced
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    45
#				  - BUG: -o /-k code was wrong
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    46
#				  - BUG: plot was in landscape mode
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    47
#			      - added run-label(s) to plot
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
    48
#                 - require ANTSlibs V6.2 for release
33
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 32
diff changeset
    49
#   Oct 13, 2015: - adapted to [version.pl]
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
    50
#	Jan 20, 2016: - added dc_w.diff, uc_w.diff for dual-head profiles
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
    51
#	Jan 21, 2016: - added %_wcorr.ps plot output
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
    52
#				  - added correlation-based QC to wprof plot
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
    53
#	Jan 22, 2016: - added output -d)ir option
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
    54
#	Jan 24, 2016: - BUG: uc_/dc_corr returned single nan on failure
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
    55
#   Jan 25, 2016: - added software version %PARAM
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
    56
#	Jan 26, 2016: - added -v
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
    57
#	Jan 30, 2016: - added -w
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
    58
#	Feb 14, 2016: - BUG: all bins were off by 1! (-v, inherited limits)
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
    59
#	Mar  1, 2016: - added required ADCP sampling %PARAMs to dual-head
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
    60
#					output
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
    61
#	Mar  7, 2016: - BUG: correlation stats were defined/used for single-head data
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
    62
#				  - removed good_bins() from library as -v allows more control
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
    63
#	Mar 16, 2016: - adapted to gmt5
43
567b03b9ce8d V1.2beta7
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 41
diff changeset
    64
#   Mar 31, 2016: - changed version %PARAM
44
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 43
diff changeset
    65
#	Apr 14, 2016: - added profile id to warning messages
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
    66
#	May 24, 2016: - improved plot
47
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
    67
#	May 26, 2016: - added automatic directory creation on -d
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
    68
#	Nov 28, 2017: - removed wcorr plot
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
    69
#	Dec  9, 2017: - added $antsSuppressCommonOptions = 1;
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
    70
#	Oct 31, 2018: - improved label (no longer explained/residual stddev)
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
    71
#	Nov  1, 2018: - made layout consistent for dual- and single-head profiles
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    72
#	Jul  1, 2021: - made %PARAMs more standard
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    73
#				  - added -z to remove biases
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    74
#				  - added %?c_w_diff.rms to output
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    75
#				  - BUG: dc_corr returned strange rms
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    76
#	Jul  7, 2021: - reversed logic of -z (enables bias correction by default)
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    77
#				  - BUG: plot had label in wrong location for single-head profiles
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    78
#	Jul  9, 2021: - added window correlation stats
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    79
#				  - updated %PARAM names
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    80
#	Jul 13, 2021: - BUG: dc_sig, dc_rms confusion
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    81
#	Jul 23, 2021: - added summary info to plot
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    82
#				  - added seabed to plot
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    83
#				  - added annotations to plot
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
    84
#	Aug  7, 2021: - BUG: some wsamp params were wrong
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
    85
#	Oct 12, 2021: - reduced window thickness for correlations from 500m to 320m
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
    86
#	Oct 13, 2021: - add filter to include correlation results only if there are
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
    87
#				    less than 20% gaps
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
    88
#	May 10, 2022: - added -f
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
    89
#	May 17, 2022: - changed semantics to take output file name from input file names
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
    90
#	May 18, 2022: - BUG: new semantics did not work (oops)
63
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
    91
#	Sep 19, 2022: - BUG: plot did not work any more (unclear since when) for dual-head
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
    92
#						 profiles
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
    93
# HISTORY END
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
    94
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    95
33
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 32
diff changeset
    96
($ANTS)  = (`which ANTSlib` =~ m{^(.*)/[^/]*$});
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 32
diff changeset
    97
($WCALC) = ($0              =~ m{^(.*)/[^/]*$});
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 32
diff changeset
    98
$WCALC = '.' if ($WCALC eq '');
29
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
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
   101
	unless ($ANTS ne '');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   102
33
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 32
diff changeset
   103
require "$WCALC/version.pl";
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   104
require "$ANTS/ants.pl";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   105
require "$ANTS/libstats.pl";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   106
require "$ANTS/libGMT.pl";
43
567b03b9ce8d V1.2beta7
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 41
diff changeset
   107
&antsAddParams('LADCP_w_postproc::version',$VERSION);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   108
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   109
$antsSuppressCommonOptions = 1;
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   110
&antsUsage('b:c:d:f:i:k:l:o:p:v:w:z',1,
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   111
	'[profile -i)d <id>]',
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   112
	'[disable -z)eroing of <w> (disable bias correction)]',
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   113
	'[-o)utput bin <resolution>] [-k) require <min> samples]',
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   114
	'[-v)alid bins <DL first>,<DL last>[,<UL first>,<UL_last>]',
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   115
	'[-w) <DL_dc_field>,<DL_uc_field>[,<UL_dc_field>,<UL_uc_field>]',
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   116
	'[-s)urface-layer <limit[300m]>]',
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   117
	'[-c)orrelation <window size[320m]>]',
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   118
	'[ouptput -d)ir <name> -f)ile <fmt[%03d.wprof]>]',
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   119
	'[-p)lot <[%03d_wprof.eps]> [-b)t <wprof>]]',
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   120
	'<DL.wsamp file> [UL.wsamp file] (or only <UL.wsamp file>)');
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   121
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   122
($basename) = ($ARGV =~ m{([^/]*)\.[^\.]*$});						# determine output file name
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   123
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   124
$opt_f = '%03d.wprof'													# output file name
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   125
	unless defined($opt_f);
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   126
47
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   127
$dual_head = (@ARGV==1);												# single or dual head
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   128
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   129
if ($dual_head) {
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   130
	my($basename2) = ($ARGV[0] =~ m{([^/]*)\.[^\.]*$});
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   131
	undef($basename) unless ($basename2 eq $basename);
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   132
}
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   133
47
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   134
$id = defined($opt_i) ? $opt_i : &antsParam('profile_id');				# ensure profile id exists
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   135
croak("$0: no profile_id in first file => -i required\n")
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   136
	unless defined($id);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   137
	
47
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   138
if (defined($opt_d)) {													# select output directory
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   139
	unless (-d $opt_d) {
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   140
	    unless ($opt_d =~ m{/}) {
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   141
			print(STDERR "Warning: Creating output sub-directory ./$opt_d\n");
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   142
		    mkdir($opt_d);
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   143
		}
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   144
		croak("$opt_d: no such directory\n") unless (-d $opt_d);
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   145
	}
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   146
}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   147
47
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   148
&antsCardOpt(\$opt_s,300);												# surface layer depth limit
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   149
&antsCardOpt(\$opc_c,320);												# window thickness for correlation estimates
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   150
47
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   151
if (defined($opt_v)) {													# bin ranges with valid data to use
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   152
	($fvBin,$lvBin,$UL_fvBin,$UL_lvBin) = split(/,/,$opt_v);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   153
	croak("$0: cannot decode -v $opt_v\n")
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   154
		unless (defined($lvBin) && (!$dual_head || defined($UL_lvBin)));
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   155
	$fvBin = &antsRequireParam('LADCP_firstBin') if ($fvBin eq '*');	# corresponding UL values set below
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   156
	$lvBin = &antsRequireParam('LADCP_lastBin')  if ($lvBin eq '*');
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   157
	&antsAddParams('DL_first_valid_bin',$fvBin,
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   158
				   'DL_last_valid_bin', $lvBin);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   159
} else {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   160
	&antsAddParams('DL_first_valid_bin',&antsRequireParam('outgrid_firstbin'),
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   161
				   'DL_last_valid_bin',&antsRequireParam('outgrid_lastbin'));
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   162
}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   163
47
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   164
if (defined($opt_w)) {													# vertical-velocity fields to use
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   165
	($Ddwf,$Duwf,$Udwf,$Uuwf) = split(/,/,$opt_w);						# DL dc, DL uc, ...
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   166
	croak("$0: cannot decode -w $opt_w\n")
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   167
		unless (defined($Duwf) && (!$dual_head || defined($Uuwf)));
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   168
	&antsAddParams('DL_dc_w_field',$Ddwf,'DL_uc_w_field',$Duwf,
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   169
				   'UL_dc_w_field',$Udwf,'UL_uc_w_field',$Uuwf);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   170
} else {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   171
	($Ddwf,$Duwf,$Udwf,$Uuwf) = ('w','w','w','w');
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   172
}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   173
47
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   174
if (defined($opt_o)) {													# output grid resolution
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   175
	$opt_o_override = 1;
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   176
	&antsCardOpt($opt_o);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   177
} else {
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   178
	$opt_o = &antsRequireParam('outgrid_dz');
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   179
}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   180
47
2ccb81b7cea5 version found on whoosher after repair
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 46
diff changeset
   181
if (defined($opt_k)) {													# minimum number of required samples
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   182
	$opt_k_override = 1;
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   183
	&antsCardOpt($opt_k);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   184
} else {
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   185
	$opt_k = &antsRequireParam('outgrid_minsamp');
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   186
	$opt_k *= 2 if ($dual_head);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   187
}
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   188
	
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   189
#----------------------------------------------------------------------
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   190
# Redirect STDOUT to %.wprof & create plots if STDOUT is a tty
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   191
#----------------------------------------------------------------------
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
if (-t STDOUT) {
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   194
	if (defined($basename)) {
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   195
		$outfile = defined($opt_d) ? "$opt_d/$basename.wprof" 	   : "$basename.wprof";
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   196
		$opt_p 	 = defined($opt_d) ? "$opt_d/${basename}_wprof.ps" : "${basename}_wprof.ps"
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   197
			unless defined($opt_p);
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   198
	} else {
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   199
		$opt_p = defined($opt_d) ? "$opt_d/%03d_wprof.ps" : '%03d_wprof.ps'
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   200
			unless defined($opt_p);
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   201
		$outfile = defined($opt_d) ? sprintf("%s/$opt_f",$opt_d,$id)
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   202
								   : sprintf($opt_f,$id);
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   203
	}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   204
	open(STDOUT,">$outfile") || die("$outfile: $!\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   205
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   206
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   207
croak("$0: -b only makes sense when plots are produced\n")
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   208
	if $opt_b && !defined($opt_p);
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   209
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   210
#----------------------------------------------------------------------
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   211
# EditParams Library
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   212
#
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   213
#	output_resolution(dz)								output_resolution(40)
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   214
#	bad_range[_dc|_uc](field,min_val,max_val)			bad_range_uc('depth',3500,3600)
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   215
#	
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   216
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   217
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   218
my(@brFnr,@brMin,@brMax,@brDUc);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   219
my(@gbFirst,@gbLast);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   220
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   221
sub output_resolution($)
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   222
{
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   223
	my($dz) = @_;
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   224
	$opt_o = $dz;
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   225
	$opt_o_override = 1;
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   226
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   227
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   228
sub bad_range($$$)
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   229
{
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   230
	push(@brFnr,&fnr(shift));
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   231
	push(@brMin,shift); push(@brMax,shift);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   232
	$brMin[$#brMin] = -9e99 if ($brMin[$#brMin] eq '*');
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   233
	$brMax[$#brMax] =  9e99 if ($brMax[$#brMax] eq '*');
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   234
	push(@brDUc,2);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   235
}
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   236
	
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   237
sub bad_range_dc($$$)
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   238
{
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   239
	push(@brFnr,&fnr(shift));
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   240
	push(@brMin,shift); push(@brMax,shift);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   241
	$brMin[$#brMin] = -9e99 if ($brMin[$#brMin] eq '*');
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   242
	$brMax[$#brMax] =  9e99 if ($brMax[$#brMax] eq '*');
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   243
	push(@brDUc,1);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   244
}
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   245
	
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   246
sub bad_range_uc($$$)
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   247
{
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   248
	push(@brFnr,&fnr(shift));
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   249
	push(@brMin,shift); push(@brMax,shift);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   250
	$brMin[$#brMin] = -9e99 if ($brMin[$#brMin] eq '*');
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   251
	$brMax[$#brMax] =  9e99 if ($brMax[$#brMax] eq '*');
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   252
	push(@brDUc,0);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   253
}
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   254
	
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   255
#----------------------------------------------------------------------
29
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
sub isBad()
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   258
{
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   259
	for (my($f)=0; $f<$antsBufNFields; $f++) {
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   260
		for (my($i)=0; $i<@gbFirst; $i++) {								# good bin range
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   261
			return 1 if ($ants_[0][$bF] < $gbFirst[$i] ||
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   262
			             $ants_[0][$bF] > $gbLast[$i]);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   263
		}
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   264
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   265
		for (my($i)=0; $i<@brFnr; $i++) {								# bad ranges
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   266
			next unless ($brFnr[$i] == $f);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   267
			next unless ($brDUc[$i]==2 || $brDUc[$i]==$ants_[0][$dcF]);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   268
			return 1 if ($ants_[0][$f] >= $brMin[$i] &&
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   269
						 $ants_[0][$f] <= $brMax[$i]);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   270
		}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   271
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   272
	return 0;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   273
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   274
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   275
#----------------------------------------------------------------------
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   276
# Correlation Statistics
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   277
#
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   278
#	return values:
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   279
#		   R	correlation coefficient w_DL,w_UL
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   280
#	     var	variance of avg(w_DL,w_UL)
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   281
#	  DL_var	variance of w_DL
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   282
#	  UL_var	variance of w_DL
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   283
#	rms_diff	rms of w_DL-w_UL
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   284
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   285
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   286
sub dc_corr($$)
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   287
{
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   288
	my($fi,$li) = @_;
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   289
	my($n) = 0;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   290
	my($ax,$ay) = (0,0);
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   291
	my($ssq_diff) = 0;
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   292
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   293
	return (nan,nan,nan,nan,nan) unless ($li > $fi);				# for shallow profiles this fails
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   294
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   295
	for (my($bi)=$fi; $bi<=$li; $bi++) {
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   296
		next unless numberp($DL_dc_median[$bi]) && numberp($UL_dc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   297
		$n++;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   298
		$ax += $DL_dc_median[$bi];
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   299
		$ay += $UL_dc_median[$bi];
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   300
		$ssq_diff += ($DL_dc_median[$bi] - $UL_dc_median[$bi])**2;
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   301
	}
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   302
	return (nan,nan,nan,nan,nan) unless ($n > 0.8*($li-$fi+1));
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   303
	die("$n,$li,$fi [$n > 0.8*($li-$fi+1)]\n") unless ($n > 0);
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   304
	$ax /= $n;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   305
	$ay /= $n;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   306
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   307
	my($syy,$sxy,$sxx) = (0,0,0);
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   308
	for (my($bi)=$fi; $bi<=$li; $bi++) {
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   309
		next unless numberp($DL_dc_median[$bi]) && numberp($UL_dc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   310
		my($xt) = $DL_dc_median[$bi] - $ax;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   311
		my($yt) = $UL_dc_median[$bi] - $ay;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   312
		$sxx += $xt * $xt;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   313
		$syy += $yt * $yt;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   314
		$sxy += $xt * $yt;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   315
	}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   316
	my($R) = $sxy/(sqrt($sxx * $syy) + 1e-16);
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   317
	my($var) = ($sxx + $syy) / (2*$n);			# variance of avg(w_DL,w_UL)
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   318
	my($var_DL) = $sxx/$n;
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   319
	my($var_UL) = $syy/$n;
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   320
	my($rms_diff) = sqrt($ssq_diff/$n);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   321
	return ($R,$var,$var_DL,$var_UL,$rms_diff);
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   322
}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   323
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   324
sub uc_corr($$)
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   325
{
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   326
	my($fi,$li) = @_;
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   327
	my($n) = 0;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   328
	my($ax,$ay) = (0,0);
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   329
	my($ssq_diff) = 0;
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   330
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   331
	for (my($bi)=$fi; $bi<=$li; $bi++) {
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   332
		next unless numberp($DL_uc_median[$bi]) && numberp($UL_uc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   333
		$n++;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   334
		$ax += $DL_uc_median[$bi];
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   335
		$ay += $UL_uc_median[$bi];
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   336
		$ssq_diff += ($DL_uc_median[$bi] - $UL_uc_median[$bi])**2;
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   337
	}
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   338
	return (nan,nan,nan,nan,nan) unless ($n > 2);
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   339
	$ax /= $n;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   340
	$ay /= $n;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   341
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   342
	my($syy,$sxy,$sxx) = (0,0,0);
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   343
	for (my($bi)=$fi; $bi<=$li; $bi++) {
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   344
		next unless numberp($DL_uc_median[$bi]) && numberp($UL_uc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   345
		my($xt) = $DL_uc_median[$bi] - $ax;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   346
		my($yt) = $UL_uc_median[$bi] - $ay;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   347
		$sxx += $xt * $xt;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   348
		$syy += $yt * $yt;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   349
		$sxy += $xt * $yt;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   350
	}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   351
	my($R) = $sxy/(sqrt($sxx * $syy) + 1e-16);
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   352
	my($var) = ($sxx + $syy) / (2*$n);			# variance of avg(w_DL,w_UL)
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   353
	my($var_DL) = $sxx/$n;
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   354
	my($var_UL) = $syy/$n;
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   355
	my($rms_diff) = sqrt($ssq_diff/$n);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   356
	return ($R,$var,$var_DL,$var_UL,$rms_diff);
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   357
}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   358
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   359
#----------------------------------------------------------------------
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   360
# Main Program
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   361
#----------------------------------------------------------------------
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   362
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   363
$dcwF = &fnr($Ddwf); $ucwF = &fnr($Duwf);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   364
$eF = &fnr('elapsed');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   365
$dF = &fnr('depth');
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   366
$bF = &fnr('bin');
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   367
$dcF = &fnr('downcast');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   368
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   369
$first_label 	 	= &antsRequireParam('run_label');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   370
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   371
$bin_length 	 	= &antsRequireParam('ADCP_bin_length');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   372
$pulse_length    	= &antsRequireParam('ADCP_pulse_length');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   373
$blanking_dist   	= &antsRequireParam('ADCP_blanking_distance');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   374
$instrument_type 	= &antsRequireParam('ADCP_type');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   375
$xducer_frequency	= &antsRequireParam('ADCP_frequency');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   376
$orientation		= &antsRequireParam('ADCP_orientation');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   377
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   378
$dc_var				= &antsRequireParam('dc_w.var');				# for dual-head LADCPs, variables will be 
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   379
$uc_var				= &antsRequireParam('uc_w.var');				# overwritten by [du]c_corr()
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   380
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   381
($dayNoP,$dn) = &antsFindParam('dn\d\d');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   382
croak("$0: cannot determine day number\n")
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   383
	unless defined($dayNoP);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   384
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   385
if (defined($opt_p)) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   386
	($sumPF,$corrPF) = split(/,/,$opt_p);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   387
	croak("$0: cannot decode -p $opt_p\n")
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   388
		unless (length($sumPF)>0);
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   389
}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   390
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   391
my($R,$R2);
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   392
if (defined($opt_p)) {												# begin summary plot
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   393
	$xmin = -0.1; $x2min = -700;
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   394
	$xmax = 0.35; $x2max =	500;
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   395
	$ymin = antsParam('depth.min');
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   396
	$ymin = round($ymin-25,50);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   397
	$ymax = antsParam('water_depth');
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   398
	$ymax = antsRequireParam('depth.max') unless numberp($ymax);
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   399
	$ymax = round($ymax+25,50);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   400
	$plotsize = 13;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   401
	$R	= "-R$xmin/$xmax/$ymin/$ymax";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   402
	$R2 = "-R$x2min/$x2max/$ymin/$ymax";
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   403
	GMT_begin(sprintf($sumPF,$id),"-JX$plotsize/-$plotsize",$R,'-P -X6 -Y4');
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   404
	GMT_psxy('-W0.5');
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   405
	print(GMT "0 $ymin\n0 $ymax");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   406
	GMT_psxy('-L -G200');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   407
	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
   408
	GMT_setR($R2);
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   409
	GMT_psxy('-W0.5');
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   410
	print(GMT ">\n50 $ymin\n50 $ymax\n");
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   411
	print(GMT ">\n250 $ymin\n250 $ymax\n");
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   412
	print(GMT ">\n450 $ymin\n450 $ymax\n");
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   413
	GMT_setR($R);
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   414
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   415
	if (defined($opt_b)) {
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   416
		open(BT,$opt_b) || croak("$opt_b: $!\n");
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   417
		@BTL = &antsFileLayout(BT);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   418
		my($BTwf,$BTdf,$BTmf,$BTnf);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   419
		for (my($f)=0; $f<=$#BTL; $f++) {
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   420
			$BTdf = $f if ($BTL[$f] eq 'depth');
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   421
			$BTwf = $f if ($BTL[$f] eq 'BT_w');
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   422
			$BTmf = $f if ($BTL[$f] eq 'BT_w.mad');
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   423
			$BTnf = $f if ($BTL[$f] eq 'BT_w.nsamp');
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   424
		}
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   425
		croak("$opt_b: file-layout error\n")
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   426
			unless defined($BTdf) && defined($BTwf) &&
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   427
				   defined($BTmf) && defined($BTnf);
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   428
		GMT_psxy('-W1.5');
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   429
		while (@BT = &antsFileIn(BT)) {
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   430
			next unless numberp($BT[$BTwf]);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   431
			printf(GMT "%f %f\n",$BT[$BTwf],$BT[$BTdf]);
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   432
		}
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   433
	}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   434
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   435
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   436
$min_depth =  9e99;										# sentinels
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   437
$max_depth = -9e99;
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   438
$curF = $P{PATHNAME};															# current input file (sentinel)
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   439
$filt = 0;
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   440
for ($r=0; &antsIn(); $r++) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   441
	if ($P{PATHNAME} ne $curF) {												# 2nd file (UL data)
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   442
		$curF = $P{PATHNAME};
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   443
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   444
		$dcwF = &fnr($Udwf); $ucwF = &fnr($Uuwf);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   445
44
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 43
diff changeset
   446
		&antsInfo("WARNING: #$id: inconsistent %%outgrid_dz in profile #$id")	# consistency checks
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   447
			if (defined($P{outgrid_dz}) && $P{outgrid_dz}!=$opt_o &&!$opt_o_override);
44
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 43
diff changeset
   448
		&antsInfo("WARNING: inconsistent %%outgrid_minsamp in profile #$id")
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   449
			if defined($P{outgrid_minsamp}) && !$opt_k_override &&
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   450
					(( $dual_head && $P{outgrid_minsamp}*2!=$opt_k) ||
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   451
					 (!$dual_head && $P{outgrid_minsamp}!=$opt_k));
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   452
		
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   453
		if (defined($opt_v)) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   454
			$fvBin = &antsRequireParam('LADCP_firstBin') if ($UL_fvBin eq '*');	# valid bin ranges
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   455
			$lvBin = &antsRequireParam('LADCP_lastBin')  if ($UL_lvBin eq '*');
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   456
			&antsAddParams('UL_first_valid_bin',$fvBin,
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   457
	        	           'UL_last_valid_bin', $lvBin);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   458
	    } else {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   459
			&antsAddParams('UL_first_valid_bin',&antsRequireParam('outgrid_firstbin'),
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   460
						   'UL_last_valid_bin',&antsRequireParam('outgrid_lastbin'));
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   461
		}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   462
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   463
		for (my($bi)=0; $bi<=$#dcw1; $bi++) {									# calc DL median profile (before reading UL data)
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   464
			$DL_dc_median[$bi] = median(@{$dcw1[$bi]});
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   465
			$DL_uc_median[$bi] = median(@{$ucw1[$bi]});
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   466
		}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   467
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   468
		#
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   469
		# ADCP bin length, pulse length, and blanking distance for dual head casts
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   470
		# with inconsistent values:
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   471
		#	bin length: 		use smaller value, which will lead to smaller spectral correction
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   472
		#	pulse length:		same
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   473
		#	blanking distance:	use smaller value, which is conservative e.g. for filters for ringing
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   474
		#
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   475
		my($warned);
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   476
		unless (round($bin_length) == round(&antsRequireParam('ADCP_bin_length'))) {
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   477
			unless ($warned) {
44
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 43
diff changeset
   478
				&antsInfo("WARNING: inconsistent ADCP sampling parameters in profile #$id --- using conservative values");
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   479
				$warned = 1;
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   480
			}
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   481
			$bin_length = min($bin_length,$P{ADCP_bin_length});
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   482
		}
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   483
		unless (round($pulse_length) == round(&antsRequireParam('ADCP_pulse_length'))) {
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   484
			unless ($warned) {
44
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 43
diff changeset
   485
				&antsInfo("WARNING: inconsistent ADCP sampling parameters in profile #$id --- using conservative values");
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   486
				$warned = 1;
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   487
			}
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   488
			$pulse_length = min($pulse_length,$P{ADCP_pulse_length});
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   489
		}
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   490
		unless (round($blanking_dist) == round(&antsRequireParam('ADCP_blanking_distance'))) {
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   491
			unless ($warned) {
44
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 43
diff changeset
   492
				&antsInfo("WARNING: inconsistent ADCP sampling parameters in profile #$id --- using conservative values");
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   493
				$warned = 1;
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   494
			}
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   495
			$blanking_dist = min($blanking_dist,$P{ADCP_blanking_distance});
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   496
		}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   497
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   498
		$instrument_type2 	= &antsRequireParam('ADCP_type');					# for summary info
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   499
		$xducer_frequency2	= &antsRequireParam('ADCP_frequency');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   500
		$orientation2		= &antsRequireParam('ADCP_orientation');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   501
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   502
		$PROF = $STN = $ID = $id; $RUN = antsRequireParam('run_label');			# set variables for editing
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   503
		undef(@rngMin); undef(@rngMax); undef(@bins);
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   504
		unless ($return = do "./EditParams") {									# man perlfunc
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   505
			croak("./EditParams: $@\n") if ($@);
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   506
		}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   507
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   508
		if (defined($opt_p)) {													# 2nd file in dual-head profile => plot 1st
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   509
			GMT_psxy('-W1,coral,-');
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   510
			for (my($bi)=0; $bi<=$#dcw1; $bi++) {
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   511
				printf(GMT "%f %f\n",$DL_dc_median[$bi],($bi+0.5)*$opt_o);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   512
			}
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   513
			GMT_psxy('-W1,SeaGreen,-');
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   514
			for (my($bi)=0; $bi<=$#ucw1; $bi++) {
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   515
				printf(GMT "%f %f\n",$DL_uc_median[$bi],($bi+0.5)*$opt_o);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   516
			}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   517
			undef(@dcw1); undef(@ucw1);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   518
		}
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   519
	} # of 2nd file started
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   520
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   521
	if (defined($opt_v)) {														# explicit ranges of validity given
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   522
		next if ($ants_[0][$bF]<$fvBin ||										#  => apply them
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   523
				 $ants_[0][$bF]>$lvBin);
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   524
	} else {																	# no range of valid bins given
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   525
		next if ($ants_[0][$bF]<$P{outgrid_firstbin} ||							# => use values from [LADCP_w_ocean]
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   526
				 $ants_[0][$bF]>$P{outgrid_lastbin});
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   527
	}
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   528
	
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   529
	$filt++,next if &isBad();													# additional editing
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   530
	
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   531
	$min_depth = $ants_[0][$dF] if ($ants_[0][$dF] < $min_depth);				# update depth limits
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   532
	$max_depth = $ants_[0][$dF] if ($ants_[0][$dF] > $max_depth);
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   533
	
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   534
	my($bi) = $ants_[0][$dF]/$opt_o;
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   535
	if ($ants_[0][$dcF]) {														# downcast
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   536
		push(@{$dcw[$bi]}, $ants_[0][$dcwF] - (!$opt_z ? $P{'dc_w.mu'} : 0));	# 	vertical velocity
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   537
		push(@{$dcw1[$bi]},$ants_[0][$dcwF] - (!$opt_z ? $P{'dc_w.mu'} : 0))	# 	single-instrument w
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   538
			if ($dual_head);					
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   539
		push(@{$dce[$bi]}, $ants_[0][$eF]);	 									# 	elapsed time
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   540
	} else {								 									# upcast
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   541
		push(@{$ucw[$bi]}, $ants_[0][$ucwF] - (!$opt_z ? $P{'uc_w.mu'} : 0));
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   542
		push(@{$ucw1[$bi]},$ants_[0][$ucwF] - (!$opt_z ? $P{'uc_w.mu'} : 0))
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   543
			if ($dual_head);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   544
		push(@{$uce[$bi]}, $ants_[0][$eF]);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   545
	}
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   546
} # file-read loop
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   547
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   548
if ($dual_head) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   549
	for (my($bi)=0; $bi<=$#dcw1; $bi++) {										# calc UL median & difference profiles
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   550
		$UL_dc_median[$bi] = median(@{$dcw1[$bi]});
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   551
		$UL_uc_median[$bi] = median(@{$ucw1[$bi]});
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   552
		$dc_diff[$bi] = numberp($DL_dc_median[$bi]) && numberp($UL_dc_median[$bi])
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   553
					  ? $DL_dc_median[$bi] - $UL_dc_median[$bi] : nan;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   554
		$uc_diff[$bi] = numberp($DL_uc_median[$bi]) && numberp($UL_uc_median[$bi])
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   555
					  ? $DL_uc_median[$bi] - $UL_uc_median[$bi] : nan;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   556
	}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   557
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   558
	($dc_R,$dc_var,$dc_var_DL,$dc_var_UL,$dc_rms_wdiff) = &dc_corr(int($opt_s/$opt_o),$#dcw1);		# correlation statistics
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   559
	($uc_R,$uc_var,$uc_var_DL,$uc_var_UL,$uc_rms_wdiff) = &uc_corr(int($opt_s/$opt_o),$#ucw1);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   560
	&antsAddParams('dc_w.R',$dc_R,'uc_w.R',$uc_R,
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   561
				   'DL_dc_w.var',$dc_var_DL,'UL_dc_w.var',$dc_var_UL,
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   562
				   'DL_uc_w.var',$uc_var_DL,'UL_uc_w.var',$uc_var_UL,
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   563
				   'dc_w.var',$dc_var,'uc_w.var',$uc_var,
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   564
				   'dc_wdiff.rms',$dc_rms_wdiff,'uc_wdiff.rms',$uc_rms_wdiff);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   565
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   566
	my($last_depth,$last_bi,$dc_sumsq_res,$dc_n,$uc_sumsq_res,$uc_n);			# window correlation
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   567
	my($window_size) = 320;
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   568
	for (my($bi)=0; $bi<=$#dcw1; $bi++) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   569
		($dc_R[$bi],$dc_var[$bi],$dummy,$dummy,$dc_rms_wdiff[$bi]) =
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   570
			&dc_corr(max(0,$bi-int($window_size/2/$opt_o)),min($#dcw1,$bi+int($window_size/2/$opt_o)));
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   571
		($uc_R[$bi],$uc_var[$bi],$dummy,$dummy,$uc_rms_wdiff[$bi]) =
57
69e39fcb7f41 whoosher version pre P2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 56
diff changeset
   572
			&uc_corr(max(0,$bi-int($window_size/2/$opt_o)),min($#dcw1,$bi+int($window_size/2/$opt_o)));
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   573
	}
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   574
		
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   575
	if (defined($opt_p)) {														# plot 2nd-instrument profiles
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   576
		GMT_psxy('-W1,coral,.');
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   577
		for (my($bi)=0; $bi<=$#dcw1; $bi++) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   578
			printf(GMT "%f %f\n",$UL_dc_median[$bi],($bi+0.5)*$opt_o);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   579
		}
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   580
		GMT_psxy('-W1,SeaGreen,.');
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   581
		for (my($bi)=0; $bi<=$#ucw1; $bi++) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   582
			printf(GMT "%f %f\n",$UL_uc_median[$bi],($bi+0.5)*$opt_o);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   583
		}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   584
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   585
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   586
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   587
&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
   588
	if ($filt > 0);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   589
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   590
#----------------------------------------------------------------------
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   591
# Average and Output Profiles, Add to Summary Plot
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   592
#	- same output file layout for single- and dual-head systems
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   593
#----------------------------------------------------------------------
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   594
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   595
@antsNewLayout = ('depth','hab',
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   596
				  'dc_elapsed','dc_w','dc_w.mad','dc_w.nsamp',
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   597
                  'uc_elapsed','uc_w','uc_w.mad','uc_w.nsamp',
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   598
				  'dc_w.diff','uc_w.diff',										# DL-UL differences
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   599
				  'dc_w.R','dc_w.var','dc_wdiff.rms',
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   600
				  'uc_w.R','uc_w.var','uc_wdiff.rms');
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   601
37
2c4479351544 V1.2beta2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 35
diff changeset
   602
if ($dual_head) {																# dual-head output
2c4479351544 V1.2beta2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 35
diff changeset
   603
	&antsAddParams('profile_id',$id,'lat',$P{lat},'lon',$P{lon});				# selected %PARAMs
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   604
	&antsAddParams($dayNoP,$dn,'run_label',"$first_label & $P{run_label}");
30
7fb67e771d85 LWplots expunged
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   605
	&antsAddParams('outgrid_dz',$opt_o,'outgrid_minsamp',$opt_k);
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   606
	&antsAddParams('depth.min',round($min_depth),'depth.max',round($max_depth));
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   607
	&antsAddParams('water_depth',$P{water_depth},'water_depth.sig',$P{water_depth.sig});
35
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   608
	&antsAddParams('ADCP_bin_length',$bin_length,'ADCP_pulse_length',$pulse_length);
54b8bb450e5f Version 1.2 finished. Out for testing to Jay Hooper.
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 34
diff changeset
   609
	&antsAddParams('ADCP_blanking_distance',$blanking_dist);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   610
	undef($antsOldHeaders);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   611
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   612
37
2c4479351544 V1.2beta2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 35
diff changeset
   613
#&antsInfo("WARNING: unknown water depth (no height-above-bottom)")
63
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   614
37
2c4479351544 V1.2beta2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 35
diff changeset
   615
#	unless numberp($P{water_depth});
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   616
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   617
my(@dcwm,@ucwm,@dcns,@ucns,@dcwmad,@ucwmad);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   618
for (my($bi)=0; $bi<=max($#dcw,$#ucw); $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   619
	$dcwm[$bi] = median(@{$dcw[$bi]}); 
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   620
	$ucwm[$bi] = median(@{$ucw[$bi]});
63
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   621
	$dcns[$bi] = @{$dcw[$bi]}; 
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   622
	$ucns[$bi] = @{$ucw[$bi]};
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   623
	$dcwmad[$bi] = mad2($dcwm[$bi],@{$dcw[$bi]});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   624
	$ucwmad[$bi] = mad2($ucwm[$bi],@{$ucw[$bi]});
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   625
	push(@{$out[$bi]},
63
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   626
			 ($bi+0.5)*$opt_o,																# depth
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   627
			 (numberp($P{water_depth}) ? $P{water_depth}-($bi+0.5)*$opt_o : nan),			# hab
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   628
			 avg(@{$dce[$bi]}),																# dc_elapsed
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   629
			 (($dcns[$bi]>=$opt_k)?$dcwm[$bi]:nan),(($dcns[$bi]>=$opt_k)?$dcwmad[$bi]:nan),	# dc_w, dc_w.mad
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   630
			 scalar(@{$dcw[$bi]}),															# dc_w.nsamp
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   631
			 avg(@{$uce[$bi]}),																# uc_elapsed
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   632
			 (($ucns[$bi]>=$opt_k)?$ucwm[$bi]:nan),(($ucns[$bi]>=$opt_k)?$ucwmad[$bi]:nan),	# uc_w, uc_w.mad
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   633
			 scalar(@{$ucw[$bi]}));															# uc_w.nsamp
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   634
	if ($dual_head) {
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   635
		push(@{$out[$bi]},$dc_diff[$bi],$uc_diff[$bi],
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   636
						  $dc_R[$bi],$dc_var[$bi],$dc_rms_wdiff[$bi],
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   637
						  $uc_R[$bi],$uc_var[$bi],$uc_rms_wdiff[$bi]);
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   638
	} else {
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   639
		push(@{$out[$bi]},nan,nan,nan,nan,nan,nan);
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   640
	}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   641
	&antsOut(@{$out[$bi]});				 
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   642
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   643
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   644
if (defined($opt_p)) {																# complete summary plot
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   645
	GMT_setR($R);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   646
63
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   647
	if ($P{water_depth} > 0) {														# SEABED
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   648
		GMT_psxy('-G204/153/102');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   649
		print(GMT "$xmin $ymax\n0.07 $ymax\n0.07 $P{water_depth}\n $xmin $P{water_depth}\n");
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   650
	}
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   651
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   652
	GMT_psxy('-W1.5,coral');														# median profiles
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   653
	for (my($bi)=0; $bi<=$#dcw; $bi++) {
63
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   654
		if ($dual_head) {
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   655
			printf(GMT "%f %f\n",(numberp($DL_dc_median[$bi]) &&
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   656
								  numberp($UL_dc_median[$bi]) &&
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   657
								  ($dcns[$bi]>=$opt_k)?$dcwm[$bi]:nan)
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   658
								,($bi+0.5)*$opt_o);
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   659
		} else {
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   660
			printf(GMT "%f %f\n",(($dcns[$bi]>=$opt_k)?$dcwm[$bi]:nan)
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   661
								,($bi+0.5)*$opt_o);
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   662
		}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   663
	}
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   664
	GMT_psxy('-W1.5,SeaGreen');
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   665
	for (my($bi)=0; $bi<=$#ucw; $bi++) {
63
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   666
		if ($dual_head) {
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   667
			printf(GMT "%f %f\n",(numberp($DL_uc_median[$bi]) &&
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   668
								  numberp($UL_uc_median[$bi]) &&
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   669
								  ($ucns[$bi]>=$opt_k)?$ucwm[$bi]:nan)
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   670
								,($bi+0.5)*$opt_o);
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   671
		} else {
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   672
			printf(GMT "%f %f\n",(($ucns[$bi]>=$opt_k)?$ucwm[$bi]:nan)
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   673
								,($bi+0.5)*$opt_o);
4832af086e8c 2022 A16N pre-cruise
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 57
diff changeset
   674
		}
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   675
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   676
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   677
	GMT_psxy('-Sc0.1 -Gcoral');														# m.a.d. profiles
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   678
	for (my($bi)=0; $bi<=$#dcw; $bi++) {
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   679
		printf(GMT "%f %f\n",(($dcns[$bi]>=$opt_k)?$dcwmad[$bi]:nan),($bi+0.5)*$opt_o);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   680
	}
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   681
	GMT_psxy('-Sc0.1 -GSeaGreen');
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   682
	for (my($bi)=0; $bi<=$#ucw; $bi++) {
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   683
		printf(GMT "%f %f\n",(($ucns[$bi]>=$opt_k)?$ucwmad[$bi]:nan),($bi+0.5)*$opt_o);
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   684
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   685
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   686
	GMT_setR($R2);
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   687
	GMT_psxy('-W0.7,coral');
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   688
	for (my($bi)=0; $bi<=$#dcw; $bi++) {											# number of samples
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   689
		if ($dcns[$bi]) { printf(GMT "%f %f\n",$dcns[$bi],($bi+0.5)*$opt_o); }
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   690
		else 			{ print(GMT "nan nan\n"); }
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   691
	}
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   692
	GMT_psxy('-W0.7,SeaGreen');
32
6041a20feb39 V1.0 release candidate
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 31
diff changeset
   693
	for (my($bi)=0; $bi<=$#dcw; $bi++) {
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   694
		if ($ucns[$bi]) { printf(GMT "%f %f\n",$ucns[$bi],($bi+0.5)*$opt_o); }
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   695
		else 			{ print(GMT "nan nan\n"); }
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   696
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   697
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   698
	GMT_psbasemap('-Bf10a1000-950:"                                                  # of Samples":N');
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   699
	GMT_psbasemap('-Ba2000-1550N'); GMT_psbasemap('-Ba1000-750N');
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   700
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   701
	$depth_tics = ($ymax-$ymin< 1000) ? 'f10a100' : 'f100a500';
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   702
	GMT_setR($R);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   703
	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
   704
						$depth_tics . ':"Depth [m]":WeS');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   705
	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
   706
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   707
	if ($dual_head) {
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   708
		GMT_psxy('-W1,100/100/255');												# surface layer limit
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   709
			print(GMT "-0.1 $opt_s\n0.07 $opt_s\n");
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   710
	}
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   711
	
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   712
	GMT_unitcoords();
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   713
	my(@y) = (1.018,1.052,1.076,1.109);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   714
	
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   715
	GMT_pstext('-F+f9,Helvetica,CornFlowerBlue+jTL -N');							# summary information
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   716
	if ($dual_head) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   717
		printf(GMT "0.64 $y[0] Dual-Head (%d / %d kHz)\n",
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   718
					round($xducer_frequency,50),round($xducer_frequency2,50));
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   719
	} else {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   720
		printf(GMT "0.64 $y[0] %d kHz $instrument_type $orientation\n",
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   721
					round($xducer_frequency,50));
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   722
	}
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   723
	print( GMT "0.64 $y[1] rms <w>\n		0.77 $y[1] :\n");
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   724
	if ($dual_head) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   725
		printf(GMT "0.64 $y[2] rms @~D@~w\n		0.77 %f :\n",$y[2]+0.007);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   726
		printf(GMT "0.64 %f correl. (r)\n		0.77 $y[3] :\n",$y[3]-0.005);
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   727
	}
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   728
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   729
	if ($dual_head) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   730
		if ($dc_rms_wdiff > sqrt($dc_var)) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   731
			GMT_pstext('-F+f9,Helvetica,coral+jTR -N -Gyellow');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   732
		} else {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   733
			GMT_pstext('-F+f9,Helvetica,coral+jTR -N');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   734
		}
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   735
		if (numberp($dc_R)) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   736
			&antsInfo("WARNING: low dc correlation (r = %.1f) between UL and DL data in profile #$id",$dc_R)
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   737
				if ($dc_R < 0.3);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   738
			printf(GMT "0.88 %f %.1fmm/s\n",$y[1]-0.005,round(sqrt($dc_var)*1000,.1));
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   739
			printf(GMT "0.88 %f %.1fmm/s\n",$y[2]+0.001,round($dc_rms_wdiff*1000,.1));
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   740
            printf(GMT "0.88 %f %.1f",$y[3]-0.005,$dc_R);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   741
        } else {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   742
			&antsInfo("WARNING: no overlap between UL and DL dc data below the surface layer in profile #$id");
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   743
        }
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   744
	} else {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   745
		GMT_pstext('-F+f9,Helvetica,coral+jTR -N');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   746
		printf(GMT "0.88 %f %.1fmm/s\n",$y[1]-0.005,round(sqrt($dc_var)*1000,.1));
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   747
	}
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   748
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   749
	if ($dual_head) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   750
		if ($uc_rms_wdiff > sqrt($uc_var)) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   751
			GMT_pstext('-F+f9,Helvetica,SeaGreen+jTR -N -Gyellow');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   752
		} else {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   753
			GMT_pstext('-F+f9,Helvetica,SeaGreen+jTR -N');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   754
		}
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   755
		if (numberp($uc_R)) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   756
			&antsInfo("WARNING: low uc correlation (r = %.1f) between UL and DL data in profile #$id",$uc_R)
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   757
				if ($uc_R < 0.3);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   758
			printf(GMT "0.99 %f %.1fmm/s\n",$y[1]-0.005,round(sqrt($uc_var)*1000,.1));
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   759
			printf(GMT "0.99 %f %.1fmm/s\n",$y[2]+0.001,round($uc_rms_wdiff*1000,.1));
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   760
            printf(GMT "0.99 %f %.1f",$y[3]-0.005,$uc_R);
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   761
        } else {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   762
			&antsInfo("WARNING: no overlap between UL and DL uc data below the surface layer in profile #$id");
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   763
        }
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   764
	} else {
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   765
		GMT_pstext('-F+f9,Helvetica,SeaGreen+jTR -N');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   766
		printf(GMT "0.99 %f %.1fmm/s\n",$y[1]-0.005,round(sqrt($uc_var)*1000,.1));
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   767
	}
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   768
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   769
	GMT_pstext('-F+f14,Helvetica,blue+jTL -N');											# annotations
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   770
	if (defined($outfile)) { print(GMT "0.01 -0.06 $outfile [$P{run_label}]\n"); }
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   771
	else { 					printf(GMT "0.01 -0.06 %03d\n [$P{run_label}]",$id); }
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   772
	GMT_pstext('-F+f12,Helvetica+jMR');
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   773
		print(GMT '0.62 0.98 m.abs.dev.');
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   774
	GMT_pstext('-F+f9,Helvetica,orange+jBR -N -Gwhite');
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 44
diff changeset
   775
		print(GMT "0.99 0.99 V$VERSION\n");
56
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   776
	GMT_pstext('-F+f12,Helvetica,coral+jTL -Gwhite');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   777
		print(GMT "0.02 0.02 downcast\n");
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   778
	GMT_pstext('-F+f12,Helvetica,SeaGreen+jTL -Gwhite');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   779
		print(GMT "0.24 0.02 upcast\n");
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   780
	GMT_pstext('-F+f12,Helvetica+jBL -Gwhite');
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 49
diff changeset
   781
		print(GMT "0.02 0.98 b.track\n");
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   782
        
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   783
	GMT_end();
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   784
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   785
	if ($dual_head && length($corrPF)>0) {												# correlation plot
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   786
		my($mwm) = 0.05; # max(|w|) for axes
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   787
		for (my($bi)=0; $bi<@DL_dc_median; $bi++) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   788
			next unless numberp($DL_dc_median[$bi]) && numberp($UL_dc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   789
			$mwm = abs($DL_dc_median[$bi]) if abs($DL_dc_median[$bi]) > $mwm;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   790
			$mwm = abs($UL_dc_median[$bi]) if abs($UL_dc_median[$bi]) > $mwm;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   791
		}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   792
		for (my($bi)=0; $bi<@DL_uc_median; $bi++) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   793
			next unless numberp($DL_uc_median[$bi]) && numberp($UL_uc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   794
			$mwm = abs($DL_uc_median[$bi]) if abs($DL_uc_median[$bi]) > $mwm;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   795
			$mwm = abs($UL_uc_median[$bi]) if abs($UL_uc_median[$bi]) > $mwm;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   796
		}
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   797
		$mwm = int(100*$mwm+0.9999) / 100;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   798
		$R = "-R-$mwm/$mwm/-$mwm/$mwm";
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   799
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   800
		GMT_begin(sprintf($corrPF,$id),"-JX$plotsize/$plotsize",$R,'-P -X6 -Y4');
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   801
		GMT_psxy('-Ggrey80 -L');
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   802
			printf(GMT "%g %g\n%g %g\n%g %g\n%g %g\n%g %g\n%g %g\n",
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   803
							-$mwm,		-$mwm+0.01,
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   804
							-$mwm,		-$mwm,
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   805
							-$mwm+0.01,	-$mwm,
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   806
							 $mwm,		 $mwm-0.01,
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   807
							 $mwm,		 $mwm,
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   808
							 $mwm-0.01,	 $mwm);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   809
													   
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   810
		GMT_psxy('-W2,grey50');
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   811
			print(GMT "-$mwm -$mwm\n$mwm $mwm\n");
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   812
		GMT_psxy('-Sc0.12c -Gcoral -W0.3,blue');
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   813
			for (my($bi)=0; $bi<@DL_dc_median; $bi++) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   814
				next unless numberp($DL_dc_median[$bi]) && numberp($UL_dc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   815
				my($depth) = ($bi+0.5)*$opt_o;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   816
				last if ($depth > $opt_s);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   817
				print(GMT "$DL_dc_median[$bi] $UL_dc_median[$bi]\n");
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   818
	        }
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   819
		GMT_psxy('-Sc0.12c -Gcoral');
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   820
			for (my($bi)=0; $bi<@DL_dc_median; $bi++) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   821
				next unless numberp($DL_dc_median[$bi]) && numberp($UL_dc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   822
				my($depth) = ($bi+0.5)*$opt_o;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   823
				next unless ($depth > $opt_s);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   824
				print(GMT "$DL_dc_median[$bi] $UL_dc_median[$bi]\n");
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   825
	        }
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   826
		GMT_psxy('-Sc0.12c -GSeaGreen -W0.3,blue');
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   827
			for (my($bi)=0; $bi<@DL_uc_median; $bi++) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   828
				next unless numberp($DL_uc_median[$bi]) && numberp($UL_uc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   829
				my($depth) = ($bi+0.5)*$opt_o;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   830
				last if ($depth > $opt_s);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   831
				print(GMT "$DL_uc_median[$bi] $UL_uc_median[$bi]\n");
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   832
	        }
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   833
		GMT_psxy('-Sc0.12c -GSeaGreen');
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   834
			for (my($bi)=0; $bi<@DL_uc_median; $bi++) {
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   835
				next unless numberp($DL_uc_median[$bi]) && numberp($UL_uc_median[$bi]);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   836
				my($depth) = ($bi+0.5)*$opt_o;
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   837
				next unless ($depth > $opt_s);
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   838
				print(GMT "$DL_uc_median[$bi] $UL_uc_median[$bi]\n");
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   839
	        }
41
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   840
		GMT_pstext('-F+f14,Helvetica,blue+jTL -N');
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   841
			if (defined($outfile)) { printf(GMT "%f %f $outfile [$P{run_label}]\n",-$mwm,1.1*$mwm); }
6bddb82924e3 V1.2beta5
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 37
diff changeset
   842
		    else { 					 printf(GMT "%f %f %03d\n [$P{run_label}]",$id,-$mwm,1.1*$wmw); }
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   843
		GMT_psbasemap('-Bf0.01a0.05:"DL Vertical Velocity [m/s]":/f0.01a0.05:"UL Vertical Velocity [m/s]":WeSn');
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   844
		GMT_end();
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   845
		
49
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 47
diff changeset
   846
    } # if dual_head && length(corrPF) > 0 
34
e550db661c17 pre-Tampa
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 33
diff changeset
   847
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   848
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   849
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   850
&antsExit(0);