Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
T
tango
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira issues
Open Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
LOFAR2.0
tango
Commits
8fdd7d83
"readme.md" did not exist on "2e3da264f04086b4779cacca3f6e64b55d2cc004"
Commit
8fdd7d83
authored
3 years ago
by
Taya Snijder
Browse files
Options
Downloads
Patches
Plain Diff
sarted work on new tests
parent
62cb9791
No related branches found
No related tags found
2 merge requests
!232
Draft: Resolve L2SS-595 "Replace fpga weights rw"
,
!229
Resolve L2SS-554 "Delay pointing unit tests"
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
tangostationcontrol/tangostationcontrol/beam/old_test.py
+51
-0
51 additions, 0 deletions
tangostationcontrol/tangostationcontrol/beam/old_test.py
tangostationcontrol/tangostationcontrol/beam/test_delays.py
+97
-60
97 additions, 60 deletions
tangostationcontrol/tangostationcontrol/beam/test_delays.py
with
148 additions
and
60 deletions
tangostationcontrol/tangostationcontrol/beam/old_test.py
+
51
−
0
View file @
8fdd7d83
...
@@ -79,3 +79,54 @@ if __name__ == '__main__':
...
@@ -79,3 +79,54 @@ if __name__ == '__main__':
# print the delays
# print the delays
print
(
f
"
Direction:
{
direction
}
:
{
delays
}
, diff:
{
diff
}
"
)
print
(
f
"
Direction:
{
direction
}
:
{
delays
}
, diff:
{
diff
}
"
)
# # create a frame tied to the reference position
reference_itrf
=
[
3826577.066
,
461022.948
,
5064892.786
]
# CS002LBA, in ITRF2005 epoch 2012.5
d
=
delay_calculator
(
reference_itrf
)
# set the antenna position identical to the reference position
speed_of_light
=
299792458.0
antenna_itrf
=
[[
reference_itrf
[
0
],
reference_itrf
[
1
],
reference_itrf
[
2
]]]
# CS001LBA, in ITRF2005 epoch 2012.5
for
i
in
range
(
24
):
# # set the timestamp to solve for
timestamp
=
datetime
.
datetime
(
2022
,
1
,
27
,
i
,
28
,
0
)
# sunrise this particular day
d
.
set_measure_time
(
timestamp
)
# compute the delays for an antennas w.r.t. the reference position
# # obtain the direction vector for a specific pointing
direction
=
"
SUN
"
,
"
0deg
"
,
"
0deg
"
# calculate the delays based on the set reference position, the set time and now the set direction and antenna positions.
pointing
=
d
.
measure
.
direction
(
*
direction
)
dir
=
d
.
get_direction_vector
(
pointing
)
if
i
==
9
:
print
(
"
sunrise
"
)
print
(
f
"
time:
{
i
:
2
}
:28,
\t
direction:
{
dir
}
"
)
self
.
assertTrue
()
""""
############################################################
"""
# # # create a frame tied to the reference position
# reference_itrf = [3826577.066, 461022.948, 5064892.786] # CS002LBA, in ITRF2005 epoch 2012.5
# d = delay_calculator(reference_itrf)
#
# # # set the timestamp to solve for
# timestamp = datetime.datetime(2021, 1, 1, 0, 0, 5)
# d.set_measure_time(timestamp)
#
# # compute the delays for an antennas w.r.t. the reference position
# antenna_itrf = [[3826923.546, 460915.441, 5064643.489]] # CS001LBA, in ITRF2005 epoch 2012.5
#
# # # obtain the direction vector for a specific pointing
# direction = "AZEL", "0deg", "0deg"
#
# # calculate the delays based on the set reference position, the set time and now the set direction and antenna positions.
# delays = d.convert(direction, antenna_itrf)
#
# print(delays)
\ No newline at end of file
This diff is collapsed.
Click to expand it.
tangostationcontrol/tangostationcontrol/beam/test_delays.py
+
97
−
60
View file @
8fdd7d83
from
delays
import
*
from
delays
import
*
from
math
import
sqrt
,
pow
from
tangostationcontrol.test
import
base
from
tangostationcontrol.test
import
base
...
@@ -12,57 +13,63 @@ import mock
...
@@ -12,57 +13,63 @@ import mock
class
TestAttributeTypes
(
base
.
TestCase
):
class
TestAttributeTypes
(
base
.
TestCase
):
def
setUp
(
self
):
def
setUp
(
self
):
# # create a frame tied to the reference position
# # create a frame tied to the reference position
reference_itrf
=
[
3826577.066
,
461022.948
,
5064892.786
]
# CS002LBA, in ITRF2005 epoch 2012.5
self
.
reference_itrf
=
[
3826577.066
,
461022.948
,
5064892.786
]
# CS002LBA, in ITRF2005 epoch 2012.5
d
=
delay_calculator
(
reference_itrf
)
self
.
d
=
delay_calculator
(
self
.
reference_itrf
)
# # set the timestamp to solve for
# # set the timestamp to solve for
timestamp
=
datetime
.
datetime
(
2021
,
1
,
1
,
0
,
0
,
5
)
self
.
timestamp
=
datetime
.
datetime
(
2021
,
1
,
1
,
0
,
0
,
5
)
d
.
set_measure_time
(
timestamp
)
self
.
d
.
set_measure_time
(
self
.
timestamp
)
# compute the delays for an antennas w.r.t. the reference position
# compute the delays for an antennas w.r.t. the reference position
antenna_itrf
=
[[
3826923.546
,
460915.441
,
5064643.489
]]
# CS001LBA, in ITRF2005 epoch 2012.5
self
.
antenna_itrf
=
[[
3826923.546
,
460915.441
,
5064643.489
]]
# CS001LBA, in ITRF2005 epoch 2012.5
(XYZ from centre of the earth in metres)
# # obtain the direction vector for a specific pointing
# # obtain the direction vector for a specific pointing
direction
=
"
J2000
"
,
"
0deg
"
,
"
0deg
"
self
.
direction
=
"
J2000
"
,
"
0deg
"
,
"
0deg
"
# sky at 1 jan 00:00 2000, right ascension, declination
def
test_time_change
(
self
):
def
test_time_change
(
self
):
# # set the timestamp to solve for
# # set the timestamp to solve for
timestamp
=
datetime
.
datetime
(
2021
,
1
,
1
,
0
,
i
,
5
)
for
i
in
range
(
10
):
d
.
set_measure_time
(
timestamp
)
self
.
timestamp
=
datetime
.
datetime
(
2021
,
1
,
1
,
0
,
i
,
5
)
self
.
d
.
set_measure_time
(
self
.
timestamp
)
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
delays
=
self
.
d
.
convert
(
self
.
direction
,
self
.
antenna_itrf
)
# print the delays
# print the delays
print
(
f
"
Timestamp:
{
timestamp
}
:
{
delays
}
"
)
print
(
f
"
Timestamp:
{
self
.
timestamp
}
:
{
delays
}
"
)
def
test_direction_change
(
self
):
def
test_direction_change
(
self
):
# test changing the direction
# test changing the direction
antenna_itrf
=
[[
3826923.546
,
460915.441
,
5064643.489
]]
# CS001LBA, in ITRF2005 epoch 2012.5
self
.
antenna_itrf
=
[[
3826923.546
,
460915.441
,
5064643.489
]]
# CS001LBA, in ITRF2005 epoch 2012.5
print
(
f
"
Changing direction test.
\n
Base parametres: Time:
{
timestamp
}
, position:
{
antenna_itrf
}
"
)
print
(
f
"
Changing direction test.
\n
Base parametres: Time:
{
self
.
timestamp
}
, position:
{
self
.
antenna_itrf
}
"
)
for
i
in
range
(
10
):
for
i
in
range
(
10
):
direction
=
"
J2000
"
,
f
"
{
i
}
deg
"
,
"
0deg
"
self
.
direction
=
"
J2000
"
,
f
"
{
i
}
deg
"
,
"
0deg
"
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
delays
=
self
.
d
.
convert
(
self
.
direction
,
self
.
antenna_itrf
)
# print the delays
# print the delays
print
(
f
"
Direction:
{
direction
}
:
{
delays
}
"
)
print
(
f
"
Direction:
{
self
.
direction
}
:
{
delays
}
"
)
def
test_position_change
(
self
):
def
test_position_change
(
self
):
# test changing the antenna position
# test changing the antenna position
print
(
f
"
Changing Antenna position test.
\n
Base parametres: Time:
{
timestamp
}
Direction:
{
direction
}
"
)
print
(
f
"
Changing Antenna position test.
\n
Base parametres: Time:
{
self
.
timestamp
}
Direction:
{
self
.
direction
}
"
)
for
i
in
range
(
10
):
for
i
in
range
(
10
):
antenna_itrf
=
[[
3826577.066
+
i
,
461022.948
,
5064892.786
]]
# CS002LBA, in ITRF2005 epoch 2012.5
self
.
antenna_itrf
=
[[
3826577.066
+
i
,
461022.948
,
5064892.786
]]
# CS002LBA, in ITRF2005 epoch 2012.5
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
delays
=
self
.
d
.
convert
(
self
.
direction
,
self
.
antenna_itrf
)
# print the delays
# print the delays
print
(
f
"
Antenna position:
{
antenna_itrf
}
:
{
delays
}
"
)
print
(
f
"
Antenna position:
{
self
.
antenna_itrf
}
:
{
delays
}
"
)
def
test_set_measure_time
(
self
):
""""
create a measure object, set a time and check that it is what we set it to.
"""
if
__name__
==
'
__main__
'
:
def
test_azul
(
self
)
:
# # create a frame tied to the reference position
# # create a frame tied to the reference position
reference_itrf
=
[
3826577.066
,
461022.948
,
5064892.786
]
# CS002LBA, in ITRF2005 epoch 2012.5
reference_itrf
=
[
3826577.066
,
461022.948
,
5064892.786
]
# CS002LBA, in ITRF2005 epoch 2012.5
d
=
delay_calculator
(
reference_itrf
)
d
=
delay_calculator
(
reference_itrf
)
...
@@ -75,53 +82,83 @@ if __name__ == '__main__':
...
@@ -75,53 +82,83 @@ if __name__ == '__main__':
antenna_itrf
=
[[
3826923.546
,
460915.441
,
5064643.489
]]
# CS001LBA, in ITRF2005 epoch 2012.5
antenna_itrf
=
[[
3826923.546
,
460915.441
,
5064643.489
]]
# CS001LBA, in ITRF2005 epoch 2012.5
# # obtain the direction vector for a specific pointing
# # obtain the direction vector for a specific pointing
direction
=
"
J2000
"
,
"
0deg
"
,
"
0deg
"
direction
=
"
AZUL
"
,
"
0deg
"
,
"
0deg
"
# calculate the delays based on the set reference position, the set time and now the set direction and antenna positions.
# calculate the delays based on the set reference position, the set time and now the set direction and antenna positions.
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
# print the delays
def
test_init
(
self
):
# pprint.pprint(delays)
pass
def
test_sun
(
self
):
# # create a frame tied to the reference position
reference_itrf
=
[
3826577.066
,
461022.948
,
5064892.786
]
# CS002LBA, in ITRF2005 epoch 2012.5
d
=
delay_calculator
(
reference_itrf
)
#test changing the time
# set the antenna position identical to the reference position
speed_of_light
=
299792458.0
antenna_itrf
=
[[
reference_itrf
[
0
],
reference_itrf
[
1
],
reference_itrf
[
2
]]]
# CS001LBA, in ITRF2005 epoch 2012.5
print
(
f
"
Changing timestamp test
\n
Base parametres: Direction:
{
direction
}
, position:
{
antenna_itrf
}
"
)
for
i
in
range
(
24
):
for
i
in
range
(
10
):
# # set the timestamp to solve for
# # set the timestamp to solve for
timestamp
=
datetime
.
datetime
(
202
1
,
1
,
1
,
0
,
i
,
5
)
timestamp
=
datetime
.
datetime
(
202
2
,
1
,
27
,
i
,
28
,
0
)
# 9:28 sunrise this particular day
d
.
set_measure_time
(
timestamp
)
d
.
set_measure_time
(
timestamp
)
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
# compute the delays for an antennas w.r.t. the reference position
# pr
in
t
the d
elays
# # obta
in the d
irection vector for a specific pointing
print
(
f
"
Timestamp:
{
timestamp
}
:
{
delays
}
"
)
direction
=
"
SUN
"
,
"
0deg
"
,
"
0deg
"
# calculate the delays based on the set reference position, the set time and now the set direction and antenna positions.
pointing
=
d
.
measure
.
direction
(
*
direction
)
dir
=
d
.
get_direction_vector
(
pointing
)
# reset time
print
(
f
"
time:
{
i
:
2
}
:28,
\t
direction:
{
dir
}
"
)
timestamp
=
datetime
.
datetime
(
2021
,
1
,
1
,
0
,
0
,
5
)
self
.
assertTrue
()
def
test_identical_location
(
self
):
# # create a frame tied to the reference position
reference_itrf
=
[
3826577.066
,
461022.948
,
5064892.786
]
# CS002LBA, in ITRF2005 epoch 2012.5
d
=
delay_calculator
(
reference_itrf
)
# set the antenna position identical to the reference position
antenna_itrf
=
[
reference_itrf
]
# CS001LBA, in ITRF2005 epoch 2012.5
# # set the timestamp to solve for
timestamp
=
datetime
.
datetime
(
2000
,
1
,
1
,
0
,
0
,
0
)
d
.
set_measure_time
(
timestamp
)
d
.
set_measure_time
(
timestamp
)
# compute the delays for an antennas w.r.t. the reference position
#test changing the antenna position
# # obtain the direction vector for a specific pointing
print
(
f
"
Changing Antenna position test.
\n
Base parametres: Time:
{
timestamp
}
Direction:
{
direction
}
"
)
direction
=
"
J2000
"
,
"
0deg
"
,
"
0deg
"
for
i
in
range
(
10
):
antenna_itrf
=
[[
3826577.066
+
i
,
461022.948
,
5064892.786
]]
# CS002LBA, in ITRF2005 epoch 2012.5
# calculate the delays based on the set reference position, the set time and now the set direction and antenna positions.
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
# print the delays
print
(
"
identical location delay:
"
,
delays
)
print
(
f
"
Antenna position:
{
antenna_itrf
}
:
{
delays
}
"
)
# test changing the direction
def
test_light_second_delay
(
self
):
# # create a frame tied to the reference position
reference_itrf
=
[
3826577.066
,
461022.948
,
5064892.786
]
# CS002LBA, in ITRF2005 epoch 2012.5
d
=
delay_calculator
(
reference_itrf
)
antenna_itrf
=
[[
3826923.546
,
460915.441
,
5064643.489
]]
# CS001LBA, in ITRF2005 epoch 2012.5
# set the antenna position identical to the reference position
print
(
f
"
Changing direction test.
\n
Base parametres: Time:
{
timestamp
}
, position:
{
antenna_itrf
}
"
)
speed_of_light
=
299792458.0
antenna_itrf
=
[[
reference_itrf
[
0
],
reference_itrf
[
1
]
-
speed_of_light
,
reference_itrf
[
2
]]]
# CS001LBA, in ITRF2005 epoch 2012.5
for
i
in
range
(
10
):
# # set the timestamp to solve for
direction
=
"
J2000
"
,
f
"
{
i
}
deg
"
,
"
0deg
"
timestamp
=
datetime
.
datetime
(
2000
,
1
,
1
,
0
,
0
,
0
)
d
.
set_measure_time
(
timestamp
)
# compute the delays for an antennas w.r.t. the reference position
# # obtain the direction vector for a specific pointing
direction
=
"
J2000
"
,
"
0deg
"
,
"
0deg
"
# calculate the delays based on the set reference position, the set time and now the set direction and antenna positions.
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
delays
=
d
.
convert
(
direction
,
antenna_itrf
)
#
print
the
delays
print
(
"
One second delay:
"
,
delays
)
print
(
f
"
Direction:
{
direction
}
:
{
delays
}
"
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment