From 7b6f2045cc02684842d844436af3e633652c8b9b Mon Sep 17 00:00:00 2001 From: jochenstahn Date: Thu, 5 Feb 2026 09:11:23 +0100 Subject: [PATCH 1/3] changed topic names, adaption to new hdf format --- eos/file_reader.py | 27 +++++++++++++++++---------- eos/kafka_serializer.py | 6 +++--- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/eos/file_reader.py b/eos/file_reader.py index 0638a08..0f49533 100644 --- a/eos/file_reader.py +++ b/eos/file_reader.py @@ -74,25 +74,32 @@ class AmorHeader: logging.warning(f" parameter {key} not found, relpace by zero") return dtype(0) + def get_hdf_single_entry(self, path): + if not np.shape(self.hdf['entry1/title']): + return self.hdf[path][()].decode('utf-8') + else: + # format until 2025 + return self.hdf[path][0].decode('utf-8') + def read_header_info(self): # read general information and first data set - title = self.hdf['entry1/title'][0].decode('utf-8') - proposal_id = self.hdf['entry1/proposal_id'][0].decode('utf-8') - user_name = self.hdf['entry1/user/name'][0].decode('utf-8') + title = self.get_hdf_single_entry('entry1/title') + proposal_id = self.get_hdf_single_entry('entry1/proposal_id') + user_name = self.get_hdf_single_entry('entry1/user/name') user_affiliation = 'unknown' - user_email = self.hdf['entry1/user/email'][0].decode('utf-8') + user_email = self.get_hdf_single_entry('entry1/user/email') user_orcid = None - sampleName = self.hdf['entry1/sample/name'][0].decode('utf-8') - model = self.hdf['entry1/sample/model'][0].decode('utf-8') + sampleName = self.get_hdf_single_entry('entry1/sample/name') + instrumentName = 'Amor' + source = self.get_hdf_single_entry('entry1/Amor/source/name') + sourceProbe = 'neutron' + model = self.get_hdf_single_entry('entry1/sample/model') if 'stack' in model: import yaml model = yaml.safe_load(model) else: model = dict(stack=model) - instrumentName = 'Amor' - source = self.hdf['entry1/Amor/source/name'][0].decode('utf-8') - sourceProbe = 'neutron' - start_time = self.hdf['entry1/start_time'][0].decode('utf-8') + start_time = self.get_hdf_single_entry('entry1/start_time') # extract start time as unix time, adding UTC offset of 1h to time string start_date = datetime.fromisoformat(start_time) self.fileDate = start_date.replace(tzinfo=AMOR_LOCAL_TIMEZONE) diff --git a/eos/kafka_serializer.py b/eos/kafka_serializer.py index a1bf32b..85c4ec2 100644 --- a/eos/kafka_serializer.py +++ b/eos/kafka_serializer.py @@ -44,9 +44,9 @@ from .projection import TofZProjection, YZProjection KAFKA_BROKER = 'linkafka01.psi.ch:9092' KAFKA_TOPICS = { - 'histogram': 'AMOR_histograms', - 'response': 'AMOR_histResponse', - 'command': 'AMOR_histCommands' + 'histogram': 'amor_histograms', + 'response': 'amor_histResponse', + 'command': 'amor_histCommands' } def ktime(): From 9e30970d9b51d772f5e5cf819a43537d1242aab0 Mon Sep 17 00:00:00 2001 From: jochenstahn Date: Fri, 20 Feb 2026 09:41:20 +0100 Subject: [PATCH 2/3] another new and everlasting cache path --- eos/file_reader.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eos/file_reader.py b/eos/file_reader.py index 0f49533..461aeb9 100644 --- a/eos/file_reader.py +++ b/eos/file_reader.py @@ -29,7 +29,7 @@ except ImportError: AMOR_LOCAL_TIMEZONE = zoneinfo.ZoneInfo(key='Europe/Zurich') if platform.node().startswith('amor'): - NICOS_CACHE_DIR = '/home/amor/nicosdata/cache/' + NICOS_CACHE_DIR = '/home/data/nicosdata/cache/' GREP = '/usr/bin/grep "value"' else: NICOS_CACHE_DIR = None @@ -182,9 +182,11 @@ class AmorHeader: round(mu+kap+kad+0.5*div, 3), 'deg'), wavelength = fileio.ValueRange(const.lamdaCut, const.lamdaMax, 'angstrom'), - #polarization = fileio.Polarization.unpolarized, polarization = fileio.Polarization(polarizationConfig) ) + self.instrument_settings.qz = fileio.ValueRange(round(4*np.pi*np.sin(np.deg2rad(mu+kap+kad-0.5*div))/const.lamdaMax, 3), + round(4*np.pi*np.sin(np.deg2rad(mu+kap+kad+0.5*div))/const.lamdaCut, 3), + '1/angstrom') self.instrument_settings.mu = fileio.Value( round(mu, 3), 'deg', From 654251a194e9e4ee34a18cb4238be791f0b896e1 Mon Sep 17 00:00:00 2001 From: jochenstahn Date: Fri, 20 Feb 2026 09:43:08 +0100 Subject: [PATCH 3/3] new version --- eos/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eos/__init__.py b/eos/__init__.py index aa15261..d80f1bc 100644 --- a/eos/__init__.py +++ b/eos/__init__.py @@ -2,5 +2,5 @@ Package to handle data redction at AMOR instrument to be used by __main__.py script. """ -__version__ = '3.0.7' -__date__ = '2025-12-01' +__version__ = '3.1.0' +__date__ = '2026-02-20'