def METHOD_NAME(self, g, f):
    fi = self.ds.field_info[f]
    if fi.sampling_type == "particle" and g.NumberOfParticles == 0:
        # because this gets upcast to float
        return np.array([], dtype="float64")
    try:
        temp = self.ds.index.io._read_data_set(g, f)
    except Exception:  # self.ds.index.io._read_exception as exc:
        if fi.not_in_all:
            temp = np.zeros(g.ActiveDimensions, dtype="float64")
        else:
            raise
    return temp