def METHOD_NAME(tolerance,input_prefix,output):
    ds_pattern = f"{input_prefix}_????/{input_prefix}_????.block_list"
    time = []
    gas_mass = []
    sink_mass = []
    # Can't test conservation of quantities if there are less than 2 snapshots
    # If this has happened, something has probably gone wrong in any case, so
    # return False
    if (len(yt.DatasetSeries(ds_pattern)) < 2):
        return False
    for ds in yt.DatasetSeries(ds_pattern):
        box = ds.box(left_edge = -ds.domain_width/2.0,
                     right_edge = ds.domain_width/2.0)
        data = ds.all_data()
        gas_mass.append(data["gas","mass"].sum())
        sink_mass.append(box["sink","mass"].sum())
        time.append(ds.current_time)
    total_mass = [gm + sm for (gm,sm) in zip(gas_mass,sink_mass)]
    mass_error, mass_error_pass = test_error(total_mass,tolerance)
    print(f"Maximum mass error = {np.max(np.abs(mass_error))}")
    # replace zeros with a small number. Helpful for plotting purposes
    mass_error[mass_error == 0] = 1.0e-100
    ### make the figure
    # set matplotlib params
    params = {'axes.labelsize': 16,
              'axes.titlesize': 16,
              'font.size': 16,
              'legend.fontsize': 16,
              'xtick.labelsize': 16,
              'ytick.labelsize': 16,
              'figure.figsize' : (8,6),
              'figure.subplot.left'    : 0.15,
              'figure.subplot.right'   : 0.95  ,
              'figure.subplot.bottom'  : 0.25  ,
              'figure.subplot.top'     : 0.95  ,
              'figure.subplot.wspace'  : 0.10  ,
              'figure.subplot.hspace'  : 0.05  ,
              'lines.markersize' : 3.0,
              'lines.linewidth' : 2.0
    }
    plt.rcParams.update(params)
    fig,ax = plt.subplots()
    ax.plot(time,gas_mass/total_mass[0],label = "Gas mass")
    ax.plot(time,sink_mass/total_mass[0],label = "Sink mass")
    ax.plot(time,total_mass/total_mass[0],label = "Total mass")
    grid_line_positions = np.linspace(0.0,1.0,11,endpoint = True)
    for y in grid_line_positions:
        ax.axhline(y = y,ls = "--",color = "k",linewidth = 0.5,alpha = 0.7)
        ax.set_ylim(0.0,1.05)
    ax.set_ylabel("Mass fraction")
    ax.set_xlabel("Time (years)")
    ax.legend(loc = 0)
    fig.savefig(output)
    print(f"Saved plot to {output}")
    return mass_error_pass