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