From 3e3bb2fdaf8b8a050b6d9e325e962472a0ec9dad Mon Sep 17 00:00:00 2001
From: Laurent Mercadier <laurent.mercadier@xfel.eu>
Date: Mon, 12 Jun 2023 14:50:37 +0200
Subject: [PATCH] Adds warning if data rate < 95% in load()

---
 src/toolbox_scs/load.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/toolbox_scs/load.py b/src/toolbox_scs/load.py
index 4a0f7f1..4edbcc3 100644
--- a/src/toolbox_scs/load.py
+++ b/src/toolbox_scs/load.py
@@ -70,7 +70,7 @@ def load(proposalNB=None, runNB=None,
     fields: str, list of str, list of dict
         list of mnemonics to load specific data such as "fastccd",
         "SCS_XGM", or dictionnaries defining a custom mnemonic such as
-        {"extra": {'source: 'SCS_CDIFFT_MAG/SUPPLY/CURRENT',
+        {"extra": {'source': 'SCS_CDIFFT_MAG/SUPPLY/CURRENT',
                    'key': 'actual_current.value',
                    'dim': None}}
     subFolder: str
@@ -209,7 +209,12 @@ def load(proposalNB=None, runNB=None,
                           'Skipping!')
                     continue
                 data_arrays.append(arr)
-
+    for arr in data_arrays:
+        rate = arr.sizes["trainId"] / len(run.train_ids)
+        if rate < 0.95:
+            log.warning(f'{arr.name}: only {rate*100:.1f}% of trains '
+                        f'({arr.sizes["trainId"]} out of '
+                        f'{len(run.train_ids)}) contain data.')
     data = xr.merge(data_arrays, join='inner')
     data.attrs['runFolder'] = runFolder
 
-- 
GitLab