def _check_compatible_inputs(*datasets, ignore=['redshift']):
    """Ensure that all defined input parameters for the provided datasets are equal.

    Parameters
    ----------
    datasets : list of :class:`~_utils.OutputStruct`
        A number of output datasets to cross-check.
    ignore : list of str
        Attributes to ignore when ensuring that parameter inputs are the same.

    Raises
    ------
    ValueError :
        If datasets are not compatible.
    """
    done = []
    for i, d in enumerate(datasets):
        if d is None:
            continue
        for inp in d._inputs:
            if inp in ignore:
                continue
            if inp not in done:
                for j, d2 in enumerate(datasets[i + 1:]):
                    if d2 is None:
                        continue
                    if inp in d2._inputs and getattr(d, inp) != getattr(d2, inp
                        ):
                        raise ValueError('%s and %s are incompatible' % (d.
                            __class__.__name__, d2.__class__.__name__))
                done += [inp]
