From 050a48f552049d36c2d2dcc244d3f181a0d39c52 Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Tue, 28 May 2024 21:24:08 +0200 Subject: [PATCH] Define functions `search_beg` and `search_end` Preparing for generalization of these functions. --- Trajectories/cost_function.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Trajectories/cost_function.py b/Trajectories/cost_function.py index 0c09635c..192e7719 100755 --- a/Trajectories/cost_function.py +++ b/Trajectories/cost_function.py @@ -102,6 +102,11 @@ def node_to_prop(node_list, e_overestim, SHPC, orientation): return properties +def search_beg(inst_eddies, max_delta): + return min(max_delta + 1, len(inst_eddies)) + +def search_end(inst_eddies, max_delta): + return max(len(inst_eddies) - max_delta - 1, 0) t0 = time.perf_counter() timings = open("timings_cost.txt", "w") @@ -174,7 +179,7 @@ print("Iterating on vertices...") for n in g.vertices(): if n.in_degree() != 0: # Define properties for beginning of the segment: - ip_beg = min(n_days_avg, len(g.vp.inst_eddies[n])) + ip_beg = search_beg(g.vp.inst_eddies[n], n_days_avg - 1) properties = node_to_prop( g.vp.inst_eddies[n][:ip_beg], g.gp.e_overestim, @@ -194,7 +199,7 @@ for n in g.vertices(): if ip_beg < len_seg: # We have to read more from the shapefiles and redefine # properties. - ip_end = max(len_seg - n_days_avg, 0) + ip_end = search_end(g.vp.inst_eddies[n], n_days_avg - 1) if ip_beg <= ip_end: # We cannot use part of properties from the beginning -- GitLab