diff --git a/autotest/pytest.ini b/autotest/pytest.ini new file mode 100644 index 0000000000..d783d708a4 --- /dev/null +++ b/autotest/pytest.ini @@ -0,0 +1,2 @@ +[pytest] +python_files = *_test*.py \ No newline at end of file diff --git a/autotest/t069_test_vtkexportmodel.py b/autotest/t069_test_vtkexportmodel.py index 734ae38262..641b634dcd 100644 --- a/autotest/t069_test_vtkexportmodel.py +++ b/autotest/t069_test_vtkexportmodel.py @@ -14,10 +14,10 @@ def test_vtk_export_model_without_packages_names(): base_dir = base_test_dir(__file__, rel_path="temp", verbose=True) - test_setup = FlopyTestSetup(verbose=True, test_dirs=baseDir) + test_setup = FlopyTestSetup(verbose=True, test_dirs=base_dir) name = "mymodel" - sim = flopy.mf6.MFSimulation(sim_name=name, sim_ws=baseDir, exe_name="mf6") + sim = flopy.mf6.MFSimulation(sim_name=name, sim_ws=base_dir, exe_name="mf6") tdis = flopy.mf6.ModflowTdis(sim) ims = flopy.mf6.ModflowIms(sim) gwf = flopy.mf6.ModflowGwf(sim, modelname=name, save_flows=True) @@ -29,7 +29,7 @@ def test_vtk_export_model_without_packages_names(): ) # Export model without specifying packages_names parameter - vtk.export_model(sim.get_model(), baseDir) + vtk.export_model(sim.get_model(), base_dir) # If the function executes without error then test was successful assert True 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: diff --git a/flopy/utils/flopy_io.py b/flopy/utils/flopy_io.py index 27b0ab76c3..b7e2718704 100755 --- a/flopy/utils/flopy_io.py +++ b/flopy/utils/flopy_io.py @@ -462,6 +462,7 @@ def ulstrd(f, nlist, ra, model, sfac_columns, ext_unit_dict): # check for scaling factor if not binary: if line.strip().lower().startswith("sfac"): + line_list = line_parse(line) sfac = float(line_list[1]) line = file_handle.readline()