From f2c7c1ff4ca1b1d0a5a75a7910b20b4da1715283 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20J=C3=BCrges?= <jurges@astron.nl>
Date: Fri, 14 Sep 2018 12:42:59 +0000
Subject: [PATCH] Task SSB-42:  Perhaps this implementation of load/store works

---
 .../lib/datacontainers/holography_dataset.py  | 37 +++++++++++++++++--
 1 file changed, 34 insertions(+), 3 deletions(-)

diff --git a/CAL/CalibrationCommon/lib/datacontainers/holography_dataset.py b/CAL/CalibrationCommon/lib/datacontainers/holography_dataset.py
index 67f89ab1c31..632a471b5cc 100644
--- a/CAL/CalibrationCommon/lib/datacontainers/holography_dataset.py
+++ b/CAL/CalibrationCommon/lib/datacontainers/holography_dataset.py
@@ -200,22 +200,45 @@ class HolographyDataset():
         f = h5py.File(path, "r")
 
         result = HolographyDataset()
-
         result.version = f.attr["Version"]
+
         result.mode= f.attr["mode"]
+
         result.rcu_list = f.attr["RCU list"]
+
         result.sas_ids = f.attr["SAS id"]
+
         result.target_station_name = f.attr["Target station name"]
+
         result.target_station_position = f.attr["Target station position"]
+
         result.source_name = f.attr["Source name"]
+
         result.source_position = f.attr["Source position"]
         (result.start_time, result.end_time) = f.attr["Observation time"]
+
         result.rotation_matrix = f.attr["Rotation matrix"]
+
         result.antenna_field_position = f.attr["Antenna field position"]
+
         result.reference_stations = f["Reference station"]
+
         result.frequencies = f["frequency"]
+
         result.ra_dec = f["RA DEC"]
+
         data = f["data"]
+        for reference_station in result.reference_stations:
+            for frequency in result.frequencies:
+                for beamlet in self.beamlets:
+                    result.data[reference_station][frequency][beamlet]["XX"] = data[reference_station][frequency][beamlet]["XX"]
+                    result.data[reference_station][frequency][beamlet]["XY"] = data[reference_station][frequency][beamlet]["XY"]
+                    result.data[reference_station][frequency][beamlet]["YX"] = data[reference_station][frequency][beamlet]["YX"]
+                    result.data[reference_station][frequency][beamlet]["YY"] = data[reference_station][frequency][beamlet]["YY"]
+                    result.data[reference_station][frequency][beamlet]["t"] = data[reference_station][frequency][beamlet]["t"]
+                    result.data[reference_station][frequency][beamlet]["l"] = data[reference_station][frequency][beamlet]["l"]
+                    result.data[reference_station][frequency][beamlet]["m"] = data[reference_station][frequency][beamlet]["m"]
+                    result.data[reference_station][frequency][beamlet]["flag"] = data[reference_station][frequency][beamlet]["flag"]
         result.data = data
 
         f.close()
@@ -278,8 +301,16 @@ class HolographyDataset():
             ('m', numpy.float64),
             ('flag', numpy.bool)])
         dataset = f.create_dataset("data", (len(self.reference_stations), len(self.frequencies), len(self.beamlets)), dtype = h5py.special_dtype(vlen = sample_type))
-        for freq in self.frequencies:
-            for station in self.reference_stations:
+        for reference_station in self.reference_stations:
+            for frequency in self.frequencies:
                 for beamlet in self.beamlets:
+                    dataset[reference_station][frequency][beamlet]["XX"] = self.data[reference_station][frequency][beamlet]["XX"]
+                    dataset[reference_station][frequency][beamlet]["XY"] = self.data[reference_station][frequency][beamlet]["XY"]
+                    dataset[reference_station][frequency][beamlet]["YX"] = self.data[reference_station][frequency][beamlet]["YX"]
+                    dataset[reference_station][frequency][beamlet]["YY"] = self.data[reference_station][frequency][beamlet]["YY"]
+                    dataset[reference_station][frequency][beamlet]["t"] = self.data[reference_station][frequency][beamlet]["t"]
+                    dataset[reference_station][frequency][beamlet]["l"] = self.data[reference_station][frequency][beamlet]["l"]
+                    dataset[reference_station][frequency][beamlet]["m"] = self.data[reference_station][frequency][beamlet]["m"]
+                    dataset[reference_station][frequency][beamlet]["flag"] = self.data[reference_station][frequency][beamlet]["flag"]
 
         f.close()
-- 
GitLab