1 #!/usr/bin/perl |
1 #!/usr/bin/perl |
2 #====================================================================== |
2 #====================================================================== |
3 # M E A N P R O F |
3 # M E A N P R O F |
4 # doc: Fri Feb 22 08:40:18 2008 |
4 # doc: Fri Feb 22 08:40:18 2008 |
5 # dlm: Wed Mar 16 07:02:38 2016 |
5 # dlm: Fri Aug 24 13:45:21 2018 |
6 # (c) 2008 A.M. Thurnherr |
6 # (c) 2008 A.M. Thurnherr |
7 # uE-Info: 14 49 NIL 0 0 72 0 2 4 NIL ofnI |
7 # uE-Info: 15 71 NIL 0 0 72 0 2 4 NIL ofnI |
8 #====================================================================== |
8 #====================================================================== |
9 |
9 |
10 # extract time-averaged mean profile from ADCP data |
10 # extract time-averaged mean profile from ADCP data |
11 |
11 |
12 # HISTORY: |
12 # HISTORY: |
13 # Feb 22, 2008: - created from [listBins] |
13 # Feb 22, 2008: - created from [listBins] |
14 # Mar 16, 2016: - adapted to new Getopt library |
14 # Mar 16, 2016: - adapted to new Getopt library |
|
15 # Aug 24, 2018: - BUG: code bombed when there are no 4-beam solutions |
15 |
16 |
16 # Soundspeed Correction: |
17 # Soundspeed Correction: |
17 # - applied as described in the RDI coord-trans manual |
18 # - applied as described in the RDI coord-trans manual |
18 # - sound-speed variation over range is ignored (valid for small gradients) |
19 # - sound-speed variation over range is ignored (valid for small gradients) |
19 # => - same simple correction for all velocity components |
20 # => - same simple correction for all velocity components |
192 $mean_amp3[$b] = $sum_amp3[$b] / $nEns; $mean_amp4[$b] = $sum_amp4[$b] / $nEns; |
193 $mean_amp3[$b] = $sum_amp3[$b] / $nEns; $mean_amp4[$b] = $sum_amp4[$b] / $nEns; |
193 $mean_pcg1[$b] = $sum_pcg1[$b] / $n_pcg1[$b]; $mean_pcg2[$b] = $sum_pcg2[$b] / $n_pcg2[$b]; |
194 $mean_pcg1[$b] = $sum_pcg1[$b] / $n_pcg1[$b]; $mean_pcg2[$b] = $sum_pcg2[$b] / $n_pcg2[$b]; |
194 $mean_pcg3[$b] = $sum_pcg3[$b] / $n_pcg3[$b]; $mean_pcg4[$b] = $sum_pcg4[$b] / $n_pcg4[$b]; |
195 $mean_pcg3[$b] = $sum_pcg3[$b] / $n_pcg3[$b]; $mean_pcg4[$b] = $sum_pcg4[$b] / $n_pcg4[$b]; |
195 $mean_u[$b] = $sum_u[$b] / $good_vels[$b]; $mean_v[$b] = $sum_v[$b] / $good_vels[$b]; |
196 $mean_u[$b] = $sum_u[$b] / $good_vels[$b]; $mean_v[$b] = $sum_v[$b] / $good_vels[$b]; |
196 $mean_w[$b] = $sum_w[$b] / $good_vels[$b]; |
197 $mean_w[$b] = $sum_w[$b] / $good_vels[$b]; |
197 $mean_e[$b] = $sum_e[$b] / ($good_vels[$b] - $three_beam[$b]); |
198 $mean_e[$b] = $sum_e[$b] / ($good_vels[$b] - $three_beam[$b]) |
|
199 if ($good_vels[$b] - $three_beam[$b] > 0); |
198 } |
200 } |
199 |
201 |
200 for ($e=$fe; $e<=$le; $e++) { |
202 for ($e=$fe; $e<=$le; $e++) { |
201 for ($b=0; $b<=$lastGoodBin; $b++) { |
203 for ($b=0; $b<=$lastGoodBin; $b++) { |
202 $sumsq_corr1[$b] += ($mean_corr1[$b] - $dta{ENSEMBLE}[$e]->{CORRELATION}[$b][0])**2; |
204 $sumsq_corr1[$b] += ($mean_corr1[$b] - $dta{ENSEMBLE}[$e]->{CORRELATION}[$b][0])**2; |