1 #====================================================================== |
1 #====================================================================== |
2 # P L O T _ W P R O F . P L |
2 # P L O T _ W P R O F . P L |
3 # doc: Sun Jul 26 11:08:50 2015 |
3 # doc: Sun Jul 26 11:08:50 2015 |
4 # dlm: Mon Oct 12 13:20:47 2015 |
4 # dlm: Thu Mar 17 06:02:11 2016 |
5 # (c) 2015 A.M. Thurnherr |
5 # (c) 2015 A.M. Thurnherr |
6 # uE-Info: 53 40 NIL 0 0 72 2 2 4 NIL ofnI |
6 # uE-Info: 144 24 NIL 0 0 72 2 2 4 NIL ofnI |
7 #====================================================================== |
7 #====================================================================== |
8 |
8 |
9 # HISTORY: |
9 # HISTORY: |
10 # Jul 26, 2015: - created from LWplot_prof_2beam |
10 # Jul 26, 2015: - created from LWplot_prof_2beam |
11 # Jul 30, 2015: - moved main label outside plot area |
11 # Jul 30, 2015: - moved main label outside plot area |
12 # Oct 12, 2015: - BUG: gaps were not plotted as such |
12 # Oct 12, 2015: - BUG: gaps were not plotted as such |
|
13 # Mar 16, 2016: - adapted to gmt5 |
|
14 # Mar 17, 2016: - improved |
13 |
15 |
14 # Tweakables: |
16 # Tweakables: |
15 # |
17 # |
16 # $plot_wprof_xmin = -0.27; |
18 # $plot_wprof_xmin = -0.27; |
17 # $plot_wprof_ymax = 5000; |
19 # $plot_wprof_ymax = 5000; |
18 # $plot_wprof_xtics = "-0.25 -0.15 -0.05 0.05"; |
20 # $plot_wprof_xtics = "-0.25 -0.15 -0.05 0.05"; |
19 |
21 |
20 require "$ANTS/libGMT.pl"; |
22 require "$ANTS/libGMT.pl"; |
21 |
23 |
22 sub setR1() { GMT_setR("-R$plot_wprof_xmin/0.35/0/$plot_wprof_ymax"); } |
24 sub setR1() { GMT_setR("-R$plot_wprof_xmin/0.35/0/$plot_wprof_ymax"); } |
23 sub setR2() { GMT_setR("-R-200/200/0/$plot_wprof_ymax"); } |
25 #sub setR2() { GMT_setR("-R-200/200/0/$plot_wprof_ymax"); } |
|
26 sub setR2() { GMT_setR("-R-450/350/0/$plot_wprof_ymax"); } |
24 |
27 |
25 sub plotDC($$) |
28 sub plotDC($$) |
26 { |
29 { |
27 my($f,$minsamp) = @_; |
30 my($f,$minsamp) = @_; |
28 for (my($bi)=0; $bi<=$#{$DNCAST{$f}}; $bi++) { |
31 for (my($bi)=0; $bi<=$#{$DNCAST{$f}}; $bi++) { |
81 GMT_psxy('-G204/153/102'); |
85 GMT_psxy('-G204/153/102'); |
82 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"); |
86 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"); |
83 } |
87 } |
84 |
88 |
85 setR1(); # FRAME |
89 setR1(); # FRAME |
86 GMT_psxy('-W1'); |
90 GMT_psxy('-W0.5'); |
87 print(GMT "0 0\n 0 $plot_wprof_ymax\n"); |
91 print(GMT "0 0\n 0 $plot_wprof_ymax\n"); |
88 setR2(); |
92 setR2(); |
89 GMT_psxy('-W1 -M'); |
93 GMT_psxy('-W0.5'); |
90 print(GMT ">\n50 0\n 50 $plot_wprof_ymax\n"); |
94 print(GMT ">\n50 0\n 50 $plot_wprof_ymax\n"); |
91 print(GMT ">\n100 0\n 100 $plot_wprof_ymax\n"); |
|
92 print(GMT ">\n150 0\n 150 $plot_wprof_ymax\n"); |
95 print(GMT ">\n150 0\n 150 $plot_wprof_ymax\n"); |
|
96 print(GMT ">\n250 0\n 250 $plot_wprof_ymax\n"); |
93 |
97 |
94 setR1(); # VERTICAL VELOCITIES |
98 setR1(); # VERTICAL VELOCITIES |
95 GMT_psxy('-Mn -W4,coral,6_2:0'); plotDC('MEDIAN_W12',$opt_k); |
99 GMT_psxy('-W1,coral,8_2:0'); plotDC('MEDIAN_W12',$opt_k); |
96 GMT_psxy('-Mn -W4,coral,4_6:0'); plotDC('MEDIAN_W34',$opt_k); |
100 GMT_psxy('-W1,coral,1_1:0'); plotDC('MEDIAN_W34',$opt_k); |
97 GMT_psxy('-Mn -W4,SeaGreen,6_2:0'); plotUC('MEDIAN_W12',$opt_k); |
101 GMT_psxy('-W1,SeaGreen,8_2:0'); plotUC('MEDIAN_W12',$opt_k); |
98 GMT_psxy('-Mn -W4,SeaGreen,4_6:0'); plotUC('MEDIAN_W34',$opt_k); |
102 GMT_psxy('-W1,SeaGreen,1_1:0'); plotUC('MEDIAN_W34',$opt_k); |
99 GMT_psxy('-Mn -W4,black'); plotBT('MEDIAN_W',$opt_k); |
103 GMT_psxy('-W1,black'); plotBT('MEDIAN_W',$opt_k); |
100 |
104 |
101 GMT_psxy('-Sc0.1c -Gcoral'); plotDC('MAD_W',0); # MEAN ABSOLUTE DEVIATIONS |
105 GMT_psxy('-Sc0.1c -Gcoral'); plotDC('MAD_W',0); # MEAN ABSOLUTE DEVIATIONS |
102 GMT_psxy('-Sc0.1c -GSeaGreen'); plotUC('MAD_W',0); |
106 GMT_psxy('-Sc0.1c -GSeaGreen'); plotUC('MAD_W',0); |
103 GMT_psxy('-Sc0.1c -Gblack'); plotBT('MAD_W',0); |
107 GMT_psxy('-Sc0.1c -Gblack'); plotBT('MAD_W',0); |
104 |
108 |
105 setR2(); # SAMPLES |
109 setR2(); # SAMPLES |
106 GMT_psxy('-Mn -W1/coral'); plotDC('N_SAMP',0); |
110 GMT_psxy('-W0.7,coral'); plotDC('N_SAMP',0); |
107 GMT_psxy('-Mn -W1/SeaGreen'); plotUC('N_SAMP',0); |
111 GMT_psxy('-W0.7,SeaGreen'); plotUC('N_SAMP',0); |
108 GMT_psxy('-Mn -W1/black'); plotBT('N_SAMP',0); |
112 GMT_psxy('-W0.7,black'); plotBT('N_SAMP',0); |
109 |
113 |
110 GMT_unitcoords(); # LABELS |
114 GMT_unitcoords(); # LABELS |
111 GMT_pstext('-Gblue -N'); |
115 GMT_pstext('-F+f14,Helvetica,blue+jTL -N'); |
112 print(GMT "0.01 -0.06 14 0 0 TL $P{out_basename} [$P{run_label}]\n"); |
116 print(GMT "0.01 -0.06 $P{out_basename} [$P{run_label}]\n"); |
113 GMT_pstext(); |
117 GMT_pstext('-F+f12,Helvetica+jBR'); |
114 print(GMT "0.6 0.98 12 0 0 BR m.a.d.\n"); |
118 print(GMT "0.6 0.98 m.a.d.\n"); |
|
119 GMT_pstext('-F -N'); |
|
120 print(GMT "0.32 1.12 Vertical Velocity [m/s]\n"); |
|
121 GMT_pstext('-F+f9,Helvetica,orange+jTR -N -Gwhite'); |
|
122 print(GMT "0.99 0.01 V$VERSION\n"); |
115 |
123 |
|
124 GMT_pstext('-F+f12,Helvetica,coral+jTL -Gwhite'); |
|
125 print(GMT "0.02 0.01 dc\n"); |
|
126 GMT_pstext('-F+f12,Helvetica,SeaGreen+jTL -Gwhite'); |
|
127 print(GMT "0.02 0.06 uc\n"); |
|
128 if ($have_BT) { |
|
129 GMT_pstext('-F+f12,Helvetica,black+jTL -Gwhite'); |
|
130 print(GMT "0.02 0.10 BT\n"); |
|
131 } |
|
132 |
|
133 GMT_pstext('-F+f9,Helvetica,CornFlowerBlue+jTL -N'); |
|
134 printf(GMT "0.64 1.020 $LADCP{BEAM_FREQUENCY}kHz $LADCP{INSTRUMENT_TYPE} $P{ADCP_orientation}\n"); |
|
135 printf(GMT "0.64 1.055 bin setup\n 0.77 1.055 : %.1fm/%1.fm/%1.fm\n", |
|
136 $LADCP{BLANKING_DISTANCE},$LADCP{TRANSMITTED_PULSE_LENGTH},$LADCP{BIN_LENGTH}); |
|
137 print(GMT "0.64 1.090 rms tilt\n 0.77 1.096 :\n"); |
|
138 print(GMT "0.64 1.130 rms w\@-pkg\@-\n 0.77 1.1315 :\n"); |
|
139 GMT_pstext('-F+f9,Helvetica,coral+jTL -N'); |
|
140 printf(GMT "0.788 1.090 %.1f\\260\n",$P{dc_rms_tilt}); |
|
141 printf(GMT "0.788 1.125 %.1fm/s\n",$P{dc_rms_w_pkg}); |
|
142 GMT_pstext('-F+f9,Helvetica,SeaGreen+jTL -N'); |
|
143 printf(GMT "0.89 1.090 %.1f\\260\n",$P{uc_rms_tilt}); |
|
144 printf(GMT "0.89 1.125 %.1fm/s\n",$P{uc_rms_w_pkg}); |
|
145 |
116 my($depth_tics) = ($plot_wprof_ymax < 1000 ) ? 'f10a100' : 'f100a500'; # AXES |
146 my($depth_tics) = ($plot_wprof_ymax < 1000 ) ? 'f10a100' : 'f100a500'; # AXES |
117 setR1(); |
147 setR1(); |
118 GMT_psbasemap("-Bf0.01:'Vertical Velocity [m/s] ':/$depth_tics:'Depth [m]':WeS"); |
148 GMT_psbasemap("-Bf0.01:'':/$depth_tics:'Depth [m]':WeS"); |
119 foreach my $t (split('\s+',$plot_wprof_xtics)) { |
149 foreach my $t (split('\s+',$plot_wprof_xtics)) { |
120 GMT_psbasemap(sprintf('-Ba10-%fS',10-$t)); |
150 GMT_psbasemap(sprintf('-Ba10-%fS',10-$t)); |
121 } |
151 } |
122 setR2(); |
152 setR2(); |
123 GMT_psbasemap('-Bf10a1000-950:" # of Samples":N'); |
153 GMT_psbasemap('-Bf10a1000-950:" # of Samples":N'); |
124 GMT_psbasemap('-Ba1000-900N'); |
|
125 GMT_psbasemap('-Ba1000-850N'); |
154 GMT_psbasemap('-Ba1000-850N'); |
|
155 GMT_psbasemap('-Ba1000-750N'); |
126 |
156 |
127 GMT_end(); # FINISH PLOT |
157 GMT_end(); # FINISH PLOT |
128 } |
158 } |
129 |
159 |
130 1; # return true on require |
160 1; # return true on require |