equal
deleted
inserted
replaced
1 #====================================================================== |
1 #====================================================================== |
2 # R D I _ C O O R D S . P L |
2 # R D I _ C O O R D S . P L |
3 # doc: Sun Jan 19 17:57:53 2003 |
3 # doc: Sun Jan 19 17:57:53 2003 |
4 # dlm: Sat Jan 22 22:35:17 2011 |
4 # dlm: Sun Jan 15 20:04:13 2012 |
5 # (c) 2003 A.M. Thurnherr |
5 # (c) 2003 A.M. Thurnherr |
6 # uE-Info: 262 0 NIL 0 0 72 2 2 4 NIL ofnI |
6 # uE-Info: 33 74 NIL 0 0 72 0 2 4 NIL ofnI |
7 #====================================================================== |
7 #====================================================================== |
8 |
8 |
9 # RDI Workhorse Coordinate Transformations |
9 # RDI Workhorse Coordinate Transformations |
10 |
10 |
11 # HISTORY: |
11 # HISTORY: |
28 # May 23, 2010: - changed prototypes of rad() & deg() to conform to ANTS |
28 # May 23, 2010: - changed prototypes of rad() & deg() to conform to ANTS |
29 # Dec 20, 2010: - cosmetics |
29 # Dec 20, 2010: - cosmetics |
30 # Dec 23, 2010: - added &velBeamToBPInstrument |
30 # Dec 23, 2010: - added &velBeamToBPInstrument |
31 # Jan 22, 2011: - made velApplyHdgBias calculate sin/cos every time to allow |
31 # Jan 22, 2011: - made velApplyHdgBias calculate sin/cos every time to allow |
32 # per-ensemble corrections |
32 # per-ensemble corrections |
|
33 # Jan 15, 2012: - replaced defined(@...) by (@...) to get rid of warning |
33 |
34 |
34 use strict; |
35 use strict; |
35 use POSIX; |
36 use POSIX; |
36 |
37 |
37 my($PI) = 3.14159265358979; |
38 my($PI) = 3.14159265358979; |
57 my($dta,$v1,$v2,$v3,$v4) = @_; |
58 my($dta,$v1,$v2,$v3,$v4) = @_; |
58 return undef unless (defined($v1) + defined($v2) + |
59 return undef unless (defined($v1) + defined($v2) + |
59 defined($v3) + defined($v4) |
60 defined($v3) + defined($v4) |
60 >= $RDI_Coords::minValidVels); |
61 >= $RDI_Coords::minValidVels); |
61 |
62 |
62 unless (defined(@B2I)) { |
63 unless (@B2I) { |
63 # print(STDERR "RDI_Coords::minValidVels = $RDI_Coords::minValidVels\n"); |
64 # print(STDERR "RDI_Coords::minValidVels = $RDI_Coords::minValidVels\n"); |
64 my($a) = 1 / (2 * sin(rad($dta->{BEAM_ANGLE}))); |
65 my($a) = 1 / (2 * sin(rad($dta->{BEAM_ANGLE}))); |
65 my($b) = 1 / (4 * cos(rad($dta->{BEAM_ANGLE}))); |
66 my($b) = 1 / (4 * cos(rad($dta->{BEAM_ANGLE}))); |
66 my($c) = $dta->{CONVEX_BEAM_PATTERN} ? 1 : -1; |
67 my($c) = $dta->{CONVEX_BEAM_PATTERN} ? 1 : -1; |
67 my($d) = $a / sqrt(2); |
68 my($d) = $a / sqrt(2); |