From 0a0eeb3c3ff06de4217be8dc3f145f93943d4569 Mon Sep 17 00:00:00 2001 From: Theophile Terraz Date: Thu, 7 May 2026 17:01:22 +0200 Subject: [PATCH] debug --- src/Solver/AdisTS.py | 46 ++++++++++++++++++++++---------------------- src/Solver/Mage.py | 8 ++++++-- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/Solver/AdisTS.py b/src/Solver/AdisTS.py index bd44bbd4..0e56f050 100644 --- a/src/Solver/AdisTS.py +++ b/src/Solver/AdisTS.py @@ -880,29 +880,29 @@ class AdisTSwc(AdisTS): ) - k) data = np.fromfile(f, dtype=np.int32, count=1) # (end) - # fifth line (useless) + # fifth line (useless) + data = np.fromfile(f, dtype=np.int32, count=1) # (start) + zmin_OLD = np.fromfile(f, dtype=np.float32, count=1)[0] + data = np.fromfile(f, dtype=np.int32, count=1) # (end) + # sixth line + zf = np.zeros(ismax, dtype=np.float32) + z = np.zeros(ismax * 3, dtype=np.float32) + for k in range(0, ismax, kbl): data = np.fromfile(f, dtype=np.int32, count=1) # (start) - zmin_OLD = np.fromfile(f, dtype=np.float32, count=1)[0] + z[3 * k:3 * min(k + kbl, ismax)] = \ + np.fromfile(f, + dtype=np.float32, + count=3 * (min(k + kbl, ismax) - k) + ) + # z[i*3+1] and z[i*3+2] are useless data = np.fromfile(f, dtype=np.int32, count=1) # (end) - # sixth line - zf = np.zeros(ismax, dtype=np.float32) - z = np.zeros(ismax * 3, dtype=np.float32) - for k in range(0, ismax, kbl): - data = np.fromfile(f, dtype=np.int32, count=1) # (start) - z[3 * k:3 * min(k + kbl, ismax)] = \ - np.fromfile(f, - dtype=np.float32, - count=3 * (min(k + kbl, ismax) - k) - ) - # z[i*3+1] and z[i*3+2] are useless - data = np.fromfile(f, dtype=np.int32, count=1) # (end) - zf = [z[i * 3] for i in range(ismax)] - # seventh line (useless) - for k in range(0, ismax, kbl): - data = np.fromfile(f, dtype=np.int32, count=1) # (start) - zero = np.fromfile(f, dtype=np.int32, count=ismax) - data = np.fromfile(f, dtype=np.int32, count=1) # (end) - # end header + zf = [z[i * 3] for i in range(ismax)] + # seventh line (useless) + for k in range(0, ismax, kbl): + data = np.fromfile(f, dtype=np.int32, count=1) # (start) + zero = np.fromfile(f, dtype=np.int32, count=ismax) + data = np.fromfile(f, dtype=np.int32, count=1) # (end) + # end header def ip_to_r(i): return iprofiles[ @@ -924,6 +924,7 @@ class AdisTSwc(AdisTS): for file_bin in path_files: key_pol = os.path.basename(file_bin)[0:-4] data_tmp[key_pol] = {} + logger.info(f"read_bin: Start reading '{file_bin}' ...") with open(file_bin, 'rb') as f: # header # first line @@ -975,7 +976,7 @@ class AdisTSwc(AdisTS): # seventh line (useless) for k in range(0, ismax, kbl): data = np.fromfile(f, dtype=np.int32, count=1) # (start) - zero = np.fromfile(f, dtype=np.int32, count=ismax) + zero = np.fromfile(f, dtype=np.int32, count=min(k + kbl, ismax) - k) data = np.fromfile(f, dtype=np.int32, count=1) # (end) # end header # data @@ -1006,7 +1007,6 @@ class AdisTSwc(AdisTS): for r, reach in enumerate(reachs): for i in range(is1[r]-1, is2[r]): p_i = ip_to_ri(reach, i) - for t_data in timestamps_keys: pol_view = [] for pol in pollutants_keys: diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py index 61000207..8bbd5655 100644 --- a/src/Solver/Mage.py +++ b/src/Solver/Mage.py @@ -19,6 +19,7 @@ import os import logging import numpy as np +import time from functools import reduce from tools import timer, trace, logger_exception @@ -946,6 +947,7 @@ class Mage8(Mage): @timer def read_bin(self, study, fname, results, qlog=None, name="0"): logger.info(f"read_bin: Start reading '{fname}' ...") + start = time.time() with mage_file_open(fname, "r") as f: def newline(): return np.fromfile(f, dtype=np.int32, count=1) @@ -1092,8 +1094,7 @@ class Mage8(Mage): logger.info(f"compute tab...") for r in reachs: for p in r.profiles: - if not p.geometry.tab_up_to_date: - p.geometry.compute_tabulation() + p.geometry.compute_tabulation() logger.info(f"compute velocily...") @@ -1110,6 +1111,7 @@ class Mage8(Mage): results.bufferize("Z") results.bufferize("Q") results.bufferize("V") + logger.info(f"reading time: '{time.time() - start}'") @timer def read_gra(self, study, repertory, results, qlog=None, name="0"): @@ -1118,6 +1120,7 @@ class Mage8(Mage): fname = os.path.join(repertory, f"{name}.GRA") logger.info(f"read_gra: Start reading '{fname}' ...") + start = time.time() with mage_file_open(fname, "r") as f: def newline(): return np.fromfile(f, dtype=np.int32, count=1) @@ -1313,6 +1316,7 @@ class Mage8(Mage): results.set("sediment_timestamps", ts) logger.info(f"read_gra: ... end with {len(ts)} timestamp read") + logger.debug(f"reading time: '{time.time() - start}'") @timer def results(self, study, repertory,