From 62cb9791066de56abec15405520d26b933c4806c Mon Sep 17 00:00:00 2001 From: thijs snijder <snijder@astron.nl> Date: Wed, 26 Jan 2022 09:23:24 +0100 Subject: [PATCH] initial commit --- .../tangostationcontrol/beam/old_test.py | 81 +++++++++++++++++++ .../tangostationcontrol/beam/test_delays.py | 62 ++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 tangostationcontrol/tangostationcontrol/beam/old_test.py diff --git a/tangostationcontrol/tangostationcontrol/beam/old_test.py b/tangostationcontrol/tangostationcontrol/beam/old_test.py new file mode 100644 index 000000000..bbeb7d49f --- /dev/null +++ b/tangostationcontrol/tangostationcontrol/beam/old_test.py @@ -0,0 +1,81 @@ +import datetime +from delays import * + +if __name__ == '__main__': + # # 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 = "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) + + # print the delays + # pprint.pprint(delays) + + + #test changing the time + + print(f"Changing timestamp test\nBase parametres: Direction: {direction}, position: {antenna_itrf}") + old_val = 0 + + for i in range(10): + # # set the timestamp to solve for + timestamp = datetime.datetime(2021,1,1,0,i,5) + d.set_measure_time(timestamp) + + old_val = delays + delays = d.convert(direction, antenna_itrf) + diff = delays[0] - old_val + + # print the delays + print(f"Timestamp: {timestamp}: {delays[0]}, diff: {diff}") + + + # reset time + timestamp = datetime.datetime(2021, 1, 1, 0, 0, 5) + d.set_measure_time(timestamp) + + + #test changing the antenna position + print(f"Changing Antenna position test.\nBase parametres: Time: {timestamp} Direction: {direction}") + old_val = 0 + + for i in range(10): + antenna_itrf = [[3826577.066 + i, 461022.948, 5064892.786]] # CS002LBA, in ITRF2005 epoch 2012.5 + + old_val = delays + delays = d.convert(direction, antenna_itrf) + diff = delays[0] - old_val + + # print the delays + print(f"Antenna position: {antenna_itrf}: {delays}, diff: {diff}") + + # test changing the direction + + antenna_itrf = [[3826923.546, 460915.441, 5064643.489]] # CS001LBA, in ITRF2005 epoch 2012.5 + # antenna_itrf = [[0, 0, 0]] # CS001LBA, in ITRF2005 epoch 2012.5 + + print(f"Changing direction test.\nBase parametres: Time: {timestamp} , position: {antenna_itrf}") + + old_val = 0 + + for i in range(12): + deg = i * 30 + direction = "J2000", f"0deg", f"{deg}deg" + + old_val = delays + delays = d.convert(direction, antenna_itrf) + diff = delays[0] - old_val + + # print the delays + print(f"Direction: {direction}: {delays}, diff: {diff}") diff --git a/tangostationcontrol/tangostationcontrol/beam/test_delays.py b/tangostationcontrol/tangostationcontrol/beam/test_delays.py index 166834516..d5fa20f06 100644 --- a/tangostationcontrol/tangostationcontrol/beam/test_delays.py +++ b/tangostationcontrol/tangostationcontrol/beam/test_delays.py @@ -1,5 +1,67 @@ from delays import * +from tangostationcontrol.test import base + +import asyncio +import mock + + + + + +class TestAttributeTypes(base.TestCase): + def setUp(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 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 = "J2000", "0deg", "0deg" + + + def test_time_change(self): + # # set the timestamp to solve for + timestamp = datetime.datetime(2021, 1, 1, 0, i, 5) + d.set_measure_time(timestamp) + + delays = d.convert(direction, antenna_itrf) + + # print the delays + print(f"Timestamp: {timestamp}: {delays}") + + def test_direction_change(self): + # test changing the direction + + antenna_itrf = [[3826923.546, 460915.441, 5064643.489]] # CS001LBA, in ITRF2005 epoch 2012.5 + print(f"Changing direction test.\nBase parametres: Time: {timestamp} , position: {antenna_itrf}") + + for i in range(10): + direction = "J2000", f"{i}deg", "0deg" + + delays = d.convert(direction, antenna_itrf) + + # print the delays + print(f"Direction: {direction}: {delays}") + + def test_position_change(self): + # test changing the antenna position + print(f"Changing Antenna position test.\nBase parametres: Time: {timestamp} Direction: {direction}") + for i in range(10): + antenna_itrf = [[3826577.066 + i, 461022.948, 5064892.786]] # CS002LBA, in ITRF2005 epoch 2012.5 + + delays = d.convert(direction, antenna_itrf) + + # print the delays + print(f"Antenna position: {antenna_itrf}: {delays}") + + if __name__ == '__main__': # # create a frame tied to the reference position reference_itrf = [3826577.066, 461022.948, 5064892.786] # CS002LBA, in ITRF2005 epoch 2012.5 -- GitLab