From 3a951a307991dd06af2d4ad4e4bf873a4daefe15 Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Thu, 14 Apr 2022 12:02:03 +0200 Subject: [PATCH] L2SS-761: Added tests for ETRS_to_GEO --- .../tangostationcontrol/test/beam/test_geo.py | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/tangostationcontrol/tangostationcontrol/test/beam/test_geo.py b/tangostationcontrol/tangostationcontrol/test/beam/test_geo.py index 858b3f32e..5694376be 100644 --- a/tangostationcontrol/tangostationcontrol/test/beam/test_geo.py +++ b/tangostationcontrol/tangostationcontrol/test/beam/test_geo.py @@ -7,7 +7,7 @@ # Distributed under the terms of the APACHE license. # See LICENSE.txt for more info. -from tangostationcontrol.beam.geo import ETRS_to_ITRF +from tangostationcontrol.beam.geo import ETRS_to_ITRF, ETRS_to_GEO from tangostationcontrol.test import base @@ -41,3 +41,32 @@ class TestETRS_to_ITRF(base.TestCase): LOFAR1_CS001_LBA_ITRF = [3826923.50275, 460915.488115, 5064643.517] numpy.testing.assert_almost_equal(CS001_LBA_ITRF, LOFAR1_CS001_LBA_ITRF, decimal=1.5) + +class TestETRS_to_GEO(base.TestCase): + def test_convert_single_coordinate(self): + """ Convert a single coordinate. """ + ETRS_coords = numpy.array([1.0, 1.0, 1.0]) + GEO_coords = ETRS_to_GEO(ETRS_coords) + + self.assertEqual((2,), GEO_coords.shape) + + def test_convert_array(self): + """ Convert an array of coordinates. """ + ETRS_coords = numpy.array([ [1.0, 1.0, 1.0], [2.0, 2.0, 2.0], [3.0, 3.0, 3.0] ]) + GEO_coords = ETRS_to_GEO(ETRS_coords) + + self.assertEqual((3,2), GEO_coords.shape) + + def test_verify_CS001_LBA(self): + """ Verify if the calculated CS001LBA phase center matches those calculated in LOFAR1. """ + + # See CLBA in MAC/Deployment/data/Coordinates/ETRF_FILES/CS001/CS001-antenna-positions-ETRS.csv + CS001_LBA_ETRS = [3826923.942, 460915.117, 5064643.229] + + # Convert to GEO + CS001_LBA_GEO = ETRS_to_GEO(numpy.array(CS001_LBA_ETRS)) + + # verify against actual position + LOFAR1_CS001_LBA_GEO = [52.911, 6.868] + + numpy.testing.assert_almost_equal(CS001_LBA_GEO, LOFAR1_CS001_LBA_GEO, decimal=3) -- GitLab