From 121f73c528b45a41a576ac63ad380a204a20331a Mon Sep 17 00:00:00 2001
From: Sebastiaan van der Tol <tol@astron.nl>
Date: Mon, 10 Aug 2020 13:08:30 +0200
Subject: [PATCH] Conditionally add ARRAY_CENTER column to OBSERVATION subtable

Add the column only when is does not exist yet.
---
 scripts/misc/add_beaminfo.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/scripts/misc/add_beaminfo.py b/scripts/misc/add_beaminfo.py
index 7ecd7cd1..3165ee9d 100755
--- a/scripts/misc/add_beaminfo.py
+++ b/scripts/misc/add_beaminfo.py
@@ -39,13 +39,13 @@ def fix_antenna(oskar_ms_name: str, telescope_center_itrf: np.array):
 
 def add_array_center(oskar_ms_name: str, telescope_center_itrf: np.array):
     """Add ARRAY_CENTER column to ::OBSERVATION subtable"""
-    anttable = pt.table(f"{oskar_ms_name}::ANTENNA", ack=False)
-    coldesc = anttable.getcoldesc("POSITION")
-    coldesc["name"] = "ARRAY_CENTER"
-    coldesc["comment"] = "Reference position for array"
-
     obstable = pt.table(f"{oskar_ms_name}::OBSERVATION", readonly=False, ack=False)
-    #obstable.addcols(coldesc)
+    if 'ARRAY_CENTER' not in obstable.colnames():
+        anttable = pt.table(f"{oskar_ms_name}::ANTENNA", ack=False)
+        coldesc = anttable.getcoldesc("POSITION")
+        coldesc["name"] = "ARRAY_CENTER"
+        coldesc["comment"] = "Reference position for array"
+        obstable.addcols(coldesc)
 
     obstable.putcol("ARRAY_CENTER", np.array([telescope_center_itrf]))
     obstable.close()
-- 
GitLab