plot_wprof.pl
author A.M. Thurnherr <athurnherr@yahoo.com>
Fri, 04 Sep 2015 06:38:44 +0000
changeset 31 d0ae3cb99021
parent 29 c1ff35103176
child 32 6041a20feb39
permissions -rw-r--r--
DoMORE-2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     1
#======================================================================
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     2
#                    P L O T _ W P R O F . P L 
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     3
#                    doc: Sun Jul 26 11:08:50 2015
31
d0ae3cb99021 DoMORE-2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
     4
#                    dlm: Thu Jul 30 09:50:03 2015
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     5
#                    (c) 2015 A.M. Thurnherr
31
d0ae3cb99021 DoMORE-2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
     6
#                    uE-Info: 11 54 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
     7
#======================================================================
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
# HISTORY:
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    10
#	Jul 26, 2015: - created from LWplot_prof_2beam
31
d0ae3cb99021 DoMORE-2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
    11
#	Jul 30, 2015: - moved main label outside plot area
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    12
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    13
# Tweakables:
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    14
#
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    15
# $plot_wprof_xmin = -0.27;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    16
# $plot_wprof_ymax = 5000;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    17
# $plot_wprof_xtics = "-0.25 -0.15 -0.05 0.05";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    18
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    19
require "$ANTS/libGMT.pl";
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    20
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    21
sub setR1() { GMT_setR("-R$plot_wprof_xmin/0.35/0/$plot_wprof_ymax"); }
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    22
sub setR2() { GMT_setR("-R-200/200/0/$plot_wprof_ymax"); }
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    23
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    24
sub plotDC($)
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    25
{
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    26
	my($f) = @_;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    27
	for (my($bi)=0; $bi<=$#{$DNCAST{$f}}; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    28
		printf(GMT (numberp($DNCAST{$f}[$bi]) ? "%g %g\n" : "nan nan\n"),
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    29
				    $DNCAST{$f}[$bi],($bi+0.5)*$opt_o)
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    30
			if ($DNCAST{N_SAMP}[$bi] >= $opt_k);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    31
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    32
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    33
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    34
sub plotUC($)
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    35
{
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    36
	my($f) = @_;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    37
	for (my($bi)=0; $bi<=$#{$UPCAST{$f}}; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    38
		printf(GMT (numberp($UPCAST{$f}[$bi]) ? "%g %g\n" : "nan nan\n"),
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    39
					$UPCAST{$f}[$bi],($bi+0.5)*$opt_o)
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    40
			if ($UPCAST{N_SAMP}[$bi] >= $opt_k);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    41
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    42
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    43
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    44
sub plotBT($)
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    45
{
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    46
	my($f) = @_;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    47
	for (my($bi)=0; $bi<=$#{$BT{$f}}; $bi++) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    48
		printf(GMT (numberp($BT{$f}[$bi]) ? "%g %g\n" : "nan nan\n"),
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    49
					$BT{$f}[$bi],($bi+0.5)*$opt_o)
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    50
			if ($BT{N_SAMP}[$bi] >= $opt_k);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    51
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    52
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    53
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    54
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    55
sub plot_wprof($)
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    56
{
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    57
	my($pfn) = @_;
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    58
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    59
	$plot_wprof_xmin = -0.1
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    60
		unless defined($plot_wprof_xmin);		
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    61
	$plot_wprof_ymax = ($P{water_depth} > 0) ?
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    62
					   round($P{water_depth} + 25) :
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    63
					   round($P{max_depth} 	 + 25)
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    64
		unless defined($plot_wprof_ymax);					  	
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    65
	$plot_wprof_xtics = "-0.05 0.05 0.15"
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    66
		unless defined($plot_wprof_xtics);
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    67
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    68
	GMT_begin($pfn,'-JX10/-10',"-R$plot_wprof_xmin/0.35/0/$plot_wprof_ymax",'-P');		# START PLOT
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    69
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    70
	GMT_psxy('-G200'); 																	# MAD background
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    71
		print(GMT "0.07 0\n 0.07 $plot_wprof_ymax\n0.18 $plot_wprof_ymax\n0.18 0\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    72
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    73
	if ($P{water_depth} > 0) {															# SEABED
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    74
		GMT_psxy('-G204/153/102');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    75
		print(GMT "$plot_wprof_xmin $plot_wprof_ymax\n0.35 $plot_wprof_ymax\n0.35 $P{water_depth}\n $plot_wprof_xmin $P{water_depth}\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    76
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    77
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    78
	setR1();																			# FRAME
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    79
	GMT_psxy('-W1');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    80
		print(GMT "0 0\n 0 $plot_wprof_ymax\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    81
	setR2();
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    82
	GMT_psxy('-W1 -M');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    83
		print(GMT ">\n50 0\n 50 $plot_wprof_ymax\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    84
		print(GMT ">\n100 0\n 100 $plot_wprof_ymax\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    85
		print(GMT ">\n150 0\n 150 $plot_wprof_ymax\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    86
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    87
	setR1();																			# VERTICAL VELOCITIES
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    88
	GMT_psxy('-Mn -W4,coral,6_2:0'); 		plotDC('MEDIAN_W12');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    89
	GMT_psxy('-Mn -W4,coral,4_6:0'); 		plotDC('MEDIAN_W34');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    90
	GMT_psxy('-Mn -W4,SeaGreen,6_2:0'); 	plotUC('MEDIAN_W12');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    91
	GMT_psxy('-Mn -W4,SeaGreen,4_6:0'); 	plotUC('MEDIAN_W34');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    92
	GMT_psxy('-Mn -W4,black'); 				plotBT('MEDIAN_W');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    93
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    94
	GMT_psxy('-Sc0.1c -Gcoral');			plotDC('MAD_W');							# MEAN ABSOLUTE DEVIATIONS
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    95
	GMT_psxy('-Sc0.1c -GSeaGreen');			plotUC('MAD_W');	
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    96
	GMT_psxy('-Sc0.1c -Gblack');			plotBT('MAD_W');	
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    97
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    98
	setR2();																			# SAMPLES
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    99
	GMT_psxy('-Mn -W1/coral');				plotDC('N_SAMP');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   100
	GMT_psxy('-Mn -W1/SeaGreen');			plotUC('N_SAMP');	
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   101
	GMT_psxy('-Mn -W1/black');				plotBT('N_SAMP');	
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   102
	
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   103
	GMT_unitcoords();																	# LABELS
31
d0ae3cb99021 DoMORE-2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   104
	GMT_pstext('-Gblue -N');
d0ae3cb99021 DoMORE-2
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 29
diff changeset
   105
		print(GMT "0.01 -0.06 14 0 0 TL $P{out_basename} $P{run_label}\n");
29
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   106
	GMT_pstext();
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   107
		print(GMT "0.6 0.98 12 0 0 BR m.a.d.\n");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   108
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   109
	my($depth_tics) = ($plot_wprof_ymax < 1000 ) ? 'f10a100' : 'f100a500';				# AXES
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   110
	setR1();
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   111
	GMT_psbasemap("-Bf0.01:'Vertical Velocity [m/s]                               ':/$depth_tics:'Depth [m]':WeS");
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   112
	foreach my $t (split('\s+',$plot_wprof_xtics)) {
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   113
		GMT_psbasemap(sprintf('-Ba10-%fS',10-$t));
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   114
	}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   115
	setR2();
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   116
	GMT_psbasemap('-Bf10a1000-950:"                                     # of Samples":N');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   117
	GMT_psbasemap('-Ba1000-900N');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   118
	GMT_psbasemap('-Ba1000-850N');
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   119
		 
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   120
	GMT_end();																			# FINISH PLOT
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   121
}
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   122
c1ff35103176 a few days pre WHOI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
   123
1; # return true on require