diff --git a/src/Solver/AdisTS.py b/src/Solver/AdisTS.py index ebed2097268a644681c233afd762a69c64aa361f..56f2fa4e7389f55edffa2a79969c33c1b4ee9d5f 100644 --- a/src/Solver/AdisTS.py +++ b/src/Solver/AdisTS.py @@ -410,10 +410,16 @@ class AdisTSwc(AdisTS): def _export_ICs_AdisTS_Spec(self, study, pol_ics_spec_data, f, qlog, name="0"): + edges = study.river.enable_edges() for ic_spec in pol_ics_spec_data: + id_reach = ic_spec.reach + reach = next((x for x in edges if x.id == id_reach), None) + if reach is None: + continue + f.write(" ".join((f"{ic_spec.name}", "=", - f"{ic_spec.reach}", + f"{study.river.get_edge_id(reach)+1}", f"{ic_spec.start_rk}", f"{ic_spec.end_rk}", f"{ic_spec.concentration}", @@ -470,13 +476,14 @@ class AdisTSwc(AdisTS): id_edges = list(map(lambda x: x.id, edges)) id_reach = d90_spec.reach + reach = next((x for x in edges if x.id == id_reach), None) - if id_reach not in id_edges: + if reach is None: return f.write(" ".join((f"{d90_spec.name}", "=", - f"{id_reach}", + f"{study.river.get_edge_id(reach)+1}", f"{d90_spec.start_rk}", f"{d90_spec.end_rk}", f"{d90_spec.d90}\n"))) @@ -526,23 +533,22 @@ class AdisTSwc(AdisTS): edges = study.river.enable_edges() - id_edges = list(map(lambda x: x.id, edges)) - id_reach = dif_spec.reach + reach = next((x for x in edges if x.id == id_reach), None) - if id_reach not in id_edges: + if reach is None: return if dif_spec.method != "generique": f.write(" ".join((f"{dif_spec.method}", "=", - f"{id_reach}", + f"{study.river.get_edge_id(reach)+1}", f"{dif_spec.start_rk}", f"{dif_spec.end_rk}", f"{dif_spec.dif}\n"))) else: f.write(" ".join((f"{dif_spec.method}", - f"=" f"{id_reach}", + f"=" f"{study.river.get_edge_id(reach)+1}", f"{dif_spec.start_rk}", f"{dif_spec.end_rk}", f"{dif_spec.dif}", @@ -602,13 +608,14 @@ class AdisTSwc(AdisTS): id_edges = list(map(lambda x: x.id, edges)) id_reach = outputrk.reach + reach = next((x for x in edges if x.id == id_reach), None) rk = outputrk.rk title = outputrk.title - if id_reach not in id_edges: + if reach is None: return - f.write(f"output = {id_reach} {rk} {title}\n") + f.write(f"output = {study.river.get_edge_id(reach)+1} {rk} {title}\n") @timer def read_bin(self, study, repertory, results, qlog=None, name="0"):