diff --git a/flopy/plot/crosssection.py b/flopy/plot/crosssection.py index 8203d2474e..a1c8dcd00c 100644 --- a/flopy/plot/crosssection.py +++ b/flopy/plot/crosssection.py @@ -1069,8 +1069,9 @@ def plot_pathline( markers = [] for _, arr in plines.items(): arr = np.array(arr) - arr = arr[arr[:, 0].argsort()] - linecol.append(arr) + # sort by travel time + arr = arr[arr[:, -1].argsort()] + linecol.append(arr[:, :-1]) if marker is not None: for xy in arr[::markerevery]: markers.append(xy) diff --git a/flopy/plot/plotutil.py b/flopy/plot/plotutil.py index 8654e8d874..478ee3ee82 100644 --- a/flopy/plot/plotutil.py +++ b/flopy/plot/plotutil.py @@ -2681,9 +2681,7 @@ def intersect_modpath_with_crosssection( nppts = {} for cell, verts in projpts.items(): - tcell = cell - while tcell >= ncpl: - tcell -= ncpl + tcell = cell % ncpl zmin = np.min(np.array(verts)[:, 1]) zmax = np.max(np.array(verts)[:, 1]) nmin = np.min(v_norm[tcell]) @@ -2807,7 +2805,7 @@ def reproject_modpath_to_crosssection( rec[xp] = x rec[yp] = y pid = rec["particleid"][0] - pline = list(zip(rec[proj], rec[zp])) + pline = list(zip(rec[proj], rec[zp], rec["time"])) if pid not in ptdict: ptdict[pid] = pline else: @@ -2825,7 +2823,7 @@ def reproject_modpath_to_crosssection( rec[xp] = x rec[yp] = y pid = rec["particleid"][0] - pline = list(zip(rec[proj], rec[zp])) + pline = list(zip(rec[proj], rec[zp], rec["time"])) if pid not in ptdict: ptdict[pid] = pline else: