equal
deleted
inserted
replaced
1 #====================================================================== |
1 #====================================================================== |
2 # L A D C P P R O C . B A C K S C A T T E R |
2 # L A D C P P R O C . B A C K S C A T T E R |
3 # doc: Wed Oct 20 13:02:27 2010 |
3 # doc: Wed Oct 20 13:02:27 2010 |
4 # dlm: Wed Oct 20 14:26:43 2010 |
4 # dlm: Fri Dec 10 00:35:45 2010 |
5 # (c) 2010 A.M. Thurnherr |
5 # (c) 2010 A.M. Thurnherr |
6 # uE-Info: 105 44 NIL 0 0 72 2 2 4 NIL ofnI |
6 # uE-Info: 12 52 NIL 0 0 72 2 2 4 NIL ofnI |
7 #====================================================================== |
7 #====================================================================== |
|
8 |
|
9 # HISTORY: |
|
10 # Oct 20, 2010: - created |
|
11 # Dec 10, 2010: - BUG: backscatter above sea surface made code bomb |
|
12 # when run with uplooker data |
8 |
13 |
9 #---------------------------------------------------------------------- |
14 #---------------------------------------------------------------------- |
10 # Volume Scattering Coefficient, following Deines (IEEE 1999) |
15 # Volume Scattering Coefficient, following Deines (IEEE 1999) |
11 # NOTES: |
16 # NOTES: |
12 # - instrument specific! (300kHz Workhorse) |
17 # - instrument specific! (300kHz Workhorse) |
58 print(STDERR "\n\t\@per-beam noise levels = @Er") if ($opt_d); |
63 print(STDERR "\n\t\@per-beam noise levels = @Er") if ($opt_d); |
59 |
64 |
60 for (my($ens)=$LADCP_start; $ens<=$LADCP_end; $ens++) { |
65 for (my($ens)=$LADCP_start; $ens<=$LADCP_end; $ens++) { |
61 for (my($bin)=0; $bin<$LADCP{N_BINS}; $bin++) { |
66 for (my($bin)=0; $bin<$LADCP{N_BINS}; $bin++) { |
62 my($gi) = int(&depthOfBin($ens,$bin) / $GRID_DZ); |
67 my($gi) = int(&depthOfBin($ens,$bin) / $GRID_DZ); |
|
68 next if ($gi < 0); |
63 my($range_to_bin) = &dzToBin($ens,$bin) / cos(rad($LADCP{BEAM_ANGLE})); |
69 my($range_to_bin) = &dzToBin($ens,$bin) / cos(rad($LADCP{BEAM_ANGLE})); |
64 $sSv[$gi][$bin] += Sv($LADCP{ENSEMBLE}[$ens]->{CTD_TEMP}, |
70 $sSv[$gi][$bin] += Sv($LADCP{ENSEMBLE}[$ens]->{CTD_TEMP}, |
65 $LADCP{TRANSMITTED_PULSE_LENGTH}, |
71 $LADCP{TRANSMITTED_PULSE_LENGTH}, |
66 $Er[0],$range_to_bin, |
72 $Er[0],$range_to_bin, |
67 $LADCP{ENSEMBLE}[$ens]->{ECHO_AMPLITUDE}[$bin][0])/4 + |
73 $LADCP{ENSEMBLE}[$ens]->{ECHO_AMPLITUDE}[$bin][0])/4 + |