author | A.M. Thurnherr <athurnherr@yahoo.com> |
Tue, 20 May 2014 10:50:46 +0000 | |
changeset 28 | 79bf60e97208 |
child 31 | af03ca38fc2a |
permissions | -rw-r--r-- |
28
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
1 |
#====================================================================== |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
2 |
# L A D C P P R O C . U T I L S |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
3 |
# doc: Fri Mar 21 15:16:59 2014 |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
4 |
# dlm: Thu Mar 27 19:36:29 2014 |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
5 |
# (c) 2014 A.M. Thurnherr |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
6 |
# uE-Info: 57 38 NIL 0 0 72 2 2 4 NIL ofnI |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
7 |
#====================================================================== |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
8 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
9 |
# HISTORY: |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
10 |
# Mar 21, 2014: - created |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
11 |
# - added rangeToBin() |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
12 |
# Mar 27, 2014: - added rangeToBinAlongBeam() |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
13 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
14 |
sub rangeToBin($$) |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
15 |
{ |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
16 |
my($ens,$bin) = @_; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
17 |
my($sscorr) = $LADCP{ENSEMBLE}[$ens]->{CTD_SVEL} / $LADCP{ENSEMBLE}[$ens]->{SPEED_OF_SOUND}; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
18 |
return $sscorr * ($LADCP{DISTANCE_TO_BIN1_CENTER} + $bin*$LADCP{BIN_LENGTH}) / cos(rad($LADCP{BEAM_ANGLE})); |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
19 |
} |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
20 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
21 |
#---------------------------------------------------------------------- |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
22 |
# - in the UH code |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
23 |
# - the distance to the first bin is not soundspeed-corrected |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
24 |
# - instrument tilt is not considered |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
25 |
#---------------------------------------------------------------------- |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
26 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
27 |
sub depthOfBin($$) |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
28 |
{ |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
29 |
sub dzToBin($$) |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
30 |
{ |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
31 |
my($ens,$bin) = @_; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
32 |
my($sscorr) = $LADCP{ENSEMBLE}[$ens]->{CTD_SVEL} / $LADCP{ENSEMBLE}[$ens]->{SPEED_OF_SOUND}; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
33 |
my($tlcorr) = cos(rad($LADCP{ENSEMBLE}[$ens]->{TILT})); |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
34 |
return $sscorr*$tlcorr * ($LADCP{DISTANCE_TO_BIN1_CENTER} + $bin*$LADCP{BIN_LENGTH}); |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
35 |
} |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
36 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
37 |
my($ens,$bin) = @_; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
38 |
return $LADCP{ENSEMBLE}[$ens]->{XDUCER_FACING_UP} ? |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
39 |
$LADCP{ENSEMBLE}[$ens]->{DEPTH} - &dzToBin($ens,$bin) : |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
40 |
$LADCP{ENSEMBLE}[$ens]->{DEPTH} + &dzToBin($ens,$bin); |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
41 |
} |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
42 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
43 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
44 |
sub depthOfBinAlongBeam($$$) |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
45 |
{ |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
46 |
sub dzToBinAlongBeam($$$) |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
47 |
{ |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
48 |
my($ens,$bin,$beam) = @_; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
49 |
my($sscorr) = $LADCP{ENSEMBLE}[$ens]->{CTD_SVEL} / $LADCP{ENSEMBLE}[$ens]->{SPEED_OF_SOUND}; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
50 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
51 |
my($pitch) = $LADCP{ENSEMBLE}[$ens]->{PITCH} + $pitch_offset; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
52 |
my($roll) = $LADCP{ENSEMBLE}[$ens]->{ROLL} + $roll_offset; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
53 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
54 |
if ($beam == 0) { $roll += $LADCP{BEAM_ANGLE}; } |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
55 |
elsif ($beam == 1) { $roll -= $LADCP{BEAM_ANGLE}; } |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
56 |
elsif ($beam == 2) { $pitch += $LADCP{BEAM_ANGLE}; } |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
57 |
else { $pitch -= $LADCP{BEAM_ANGLE}; } |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
58 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
59 |
my($tlcorr) = cos(rad(&angle_from_vertical($pitch,$roll))); |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
60 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
61 |
return $sscorr*$tlcorr * ($LADCP{DISTANCE_TO_BIN1_CENTER} + $bin*$LADCP{BIN_LENGTH}); |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
62 |
} |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
63 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
64 |
my($ens,$bin,$beam) = @_; |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
65 |
return $LADCP{ENSEMBLE}[$ens]->{XDUCER_FACING_UP} ? |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
66 |
$LADCP{ENSEMBLE}[$ens]->{DEPTH} - &dzToBinAlongBeam($ens,$bin,$beam) : |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
67 |
$LADCP{ENSEMBLE}[$ens]->{DEPTH} + &dzToBinAlongBeam($ens,$bin,$beam); |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
68 |
} |
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
69 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
70 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
71 |
|
79bf60e97208
after merge with laptop version
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff
changeset
|
72 |
1; |