LADCPproc.utils
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--
after merge with laptop version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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;