HOME ESR EXPERIMENTS LABS etc
E121 E127 E132 E125 E143 laser_cooling_2021 E142 Ê128 E146 E0052 E0018 E0028 E0038 E0075 E0203_E0018
  masses & isomeres 2025  Not logged in ELOG logo
Message ID: 158     Entry time: Fri Apr 4 16:24:48 2025
Author: Ruijiu, Yuri 
Category: Analysis 
Subject: PID of 186Hf 
Code used to add up injection data.
(pyroot) gpuuser@appc256:/data.local/G22-00018_00203/scripts/OnlineDataAnalysisSystem/shift/20250331/data/2025.04.04.13.00$ find /data.local/G22-00018_00203/results/analyzers/RSA01 -name "RSA01-2025.04.04.*.tiq_spectrogram.npz" > filelist.txt
(pyroot) gpuuser@appc256:/data.local/G22-00018_00203/scripts/OnlineDataAnalysisSystem/shift/20250331/data/summed_spectrum$ python npz_addup.py --time-cut 0.14 filelist.txt
Attachment 1: Screenshot_2025-04-04_16-24-23.png  153 kB  Uploaded Fri Apr 4 17:25:17 2025  | Hide | Hide all | Show all
Screenshot_2025-04-04_16-24-23.png
Attachment 2: summed_spectrum.npz  512 kB  Uploaded Fri Apr 4 17:28:06 2025
Attachment 3: summed_spectrum.png  23 kB  Uploaded Fri Apr 4 17:28:19 2025  | Hide | Hide all | Show all
summed_spectrum.png
Attachment 4: summed_spectrogram_time_cut.png  83 kB  Uploaded Fri Apr 4 17:28:36 2025  | Hide | Hide all | Show all
summed_spectrogram_time_cut.png
Attachment 5: filelist.txt  14 kB  Uploaded Fri Apr 4 17:28:50 2025  | Hide | Hide all | Show all
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.03.642.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.14.976.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.22.532.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.07.471.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.26.310.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.30.088.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.45.249.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.33.866.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.37.644.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.41.472.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.56.533.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.04.089.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.11.693.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.00.49.027.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.07.866.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.26.748.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.30.525.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.41.855.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.38.079.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.19.196.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.34.302.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.45.631.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.49.406.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.53.182.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.08.285.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.00.733.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.12.061.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.01.56.957.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.19.662.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.27.212.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.23.437.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.30.988.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.15.886.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.38.489.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.34.714.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.55.165.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.42.264.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.02.58.939.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.02.713.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.10.261.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.14.084.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.06.487.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.17.858.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.21.632.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.44.226.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.40.452.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.36.678.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.25.406.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.32.904.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.48.001.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.51.775.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.55.551.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.03.151.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.10.651.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.03.59.326.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.25.749.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.18.201.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.21.975.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.37.076.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.33.300.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.14.426.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.40.852.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.48.402.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.03.500.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.11.051.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.52.177.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.55.951.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.14.827.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.04.59.726.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.29.927.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.33.703.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.41.251.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.37.526.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.26.204.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.22.378.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.18.603.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.48.801.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.45.025.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.52.576.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.07.673.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.03.900.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.11.447.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.05.56.401.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.26.541.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.41.636.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.34.139.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.45.410.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.30.315.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.15.220.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.22.768.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.49.183.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.52.957.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.07.15.601.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.07.04.279.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.07.00.553.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.06.56.730.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.07.08.101.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.07.34.473.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.07.26.924.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.07.23.150.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.07.19.375.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.07.56.379.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.08.18.278.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.08.40.188.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.09.02.101.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.09.45.932.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.09.24.017.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.10.07.845.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.10.51.683.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.10.29.762.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.11.35.521.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.11.13.605.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.12.19.356.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.11.57.438.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.12.41.279.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.13.47.064.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.13.03.206.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.13.25.135.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.14.08.994.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.14.30.926.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.14.52.859.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.15.14.793.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.15.36.725.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.15.58.651.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.16.20.578.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.17.04.433.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.16.42.506.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.17.26.353.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.17.48.272.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.18.10.185.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.18.44.430.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.18.51.984.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.18.32.101.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.18.55.761.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.07.096.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.14.654.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.18.59.539.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.03.317.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.10.874.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.44.899.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.25.994.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.22.214.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.29.775.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.18.433.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.33.556.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.37.337.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.20.15.144.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.20.07.583.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.19.52.461.tiq_spectrogram.npz
/data.local/G22-00018_00203/results/analyzers/RSA01/RSA01-2025.04.04.16.20.00.022.tiq_spectrogram.npz
Attachment 6: npz_addup.py  3 kB  Uploaded Fri Apr 4 17:28:58 2025  | Hide | Hide all | Show all
import argparse
import numpy as np
from loguru import logger
from tqdm import tqdm
import sys
from iqtools import *
import sys

# font settings for plot
font = {"weight": "bold", "size": 6}  #'family' : 'normal',
plt.rc("font", **font)


def process_files(file_list):
    """
    Process the files from the file list, summing up the 'zz' arrays from spectrogram files.
    """
    zz_sum = None
    found_files = False

    with open(file_list, "r") as f:
        files = f.read().splitlines()

    spectrogram_files = [file for file in files if file.endswith("_spectrogram.npz")]

    if not spectrogram_files:
        logger.info(
            "No files ending with '_spectrogram.npz' found. Exiting gracefully."
        )
        return zz_sum, False

    for file in tqdm(spectrogram_files, desc="Processing files"):
        try:
            data = np.load(file)
            xx, yy, zz = data["arr_0"], data["arr_1"], data["arr_2"]
            if zz_sum is None:
                zz_sum = zz
            else:
                zz_sum += zz
            found_files = True
        except Exception as e:
            logger.error(f"Error processing file {file}: {e}")

    return xx, yy, zz_sum, found_files


def main():
    """
    Main function to parse arguments and invoke the processing function.
    """
    parser = argparse.ArgumentParser(
        description="Process a file list and sum the 'zz' arrays from spectrogram files."
    )
    parser.add_argument(
        "file_list",
        type=str,
        help="Path to the file containing the list of file paths.",
    )
    
    parser.add_argument("-t", "--time-cut", type=float, required=False, help="Start time as a float (optional)")
    
    args = parser.parse_args()

    try:
        logger.info("Starting the summation...")
        xx, yy, zz_sum, found_files = process_files(args.file_list)

        if args.time_cut is not None:
            y_idx = (np.abs(yy[:,0] - float(args.time_cut))).argmin()
            filename_suffix = "_time_cut"
        else:
            y_idx = 0
            filename_suffix = ""
            
        logger.info("Saving 3D NPZ sum to file...")
        np.savez(f"summed_spectrogram{filename_suffix}.npz", arr_0=xx[y_idx:,:], arr_1=yy[y_idx:,:], arr_2=zz_sum[y_idx:,:])
        
        logger.info("Plotting the 3D NPZ sum...")
        
        slx = slice (int(np.shape(xx[y_idx:,:])[1]/2) - 500, int(np.shape(xx[y_idx:,:])[1]/2) + 500)
        sly = slice(y_idx, np.shape(yy)[0]) # this one was very tricky until I found it!
        
        plot_spectrogram(
            xx[sly,slx], yy[sly,slx], zz_sum[sly,slx],
            zzmin=10,
            zzmax=500,
            filename=f"summed_spectrogram{filename_suffix}",
            title=f"summed_spectrogram{filename_suffix}",
        )

        logger.info("Creating 2D average...")
        navg = np.shape(zz_sum[y_idx:,:])[0]
        xx_avg, yy_avg, zz_sum_avg = get_averaged_spectrogram(xx[y_idx:,:], yy[y_idx:,:], zz_sum[y_idx:,:], every=navg)

        logger.info("Saving 2D NPZ sum to file...")
        np.savez(f"summed_spectrum{filename_suffix}.npz", arr_0=xx_avg.flatten(), arr_1=zz_sum_avg.flatten())

        logger.info("Plotting the 2D NPZ sum...")
        plot_spectrum(
            xx_avg.flatten(),
            zz_sum_avg.flatten(),
            dbm=True,
            filename=f"summed_spectrum{filename_suffix}",
            title=f"summed_spectrum{filename_suffix}"
        )

        if found_files:
            logger.info(
                "Successfully processed all spectrogram files."
            )
        else:
            logger.info("No valid spectrogram files found to process.")
    except KeyboardInterrupt:
        logger.warning("Process interrupted by user (Ctrl+C). Exiting gracefully.")
        sys.exit(1)


if __name__ == "__main__":
    try:
        main()
    except KeyboardInterrupt:
        logger.warning("Script interrupted (Ctrl+C). See you!")
        sys.exit(1)
Attachment 7: simulation_result.out  168 kB  Uploaded Fri Apr 4 17:32:55 2025  | Show | Hide all | Show all
ELOG V3.1.5-fc6679b