Compute the residual map between a masked observed data and model data, where:

    Residuals = (Data - Model_Data).

    Parameters
    -----------
    data : np.ndarray
        The observed data that is fitted.
    mask : np.ndarray
        The mask applied to the data, where *False* entries are included in the calculation.
    model_data : np.ndarray
        The model data used to fit the observed data.

def residual_map_from_data_mask_and_model_data(data, mask, model_data):
    """Compute the residual map between a masked observed data and model data, where:

    Residuals = (Data - Model_Data).

    Parameters
    -----------
    data : np.ndarray
        The observed data that is fitted.
    mask : np.ndarray
        The mask applied to the data, where *False* entries are included in the calculation.
    model_data : np.ndarray
        The model data used to fit the observed data.
    """
    return np.subtract(data, model_data, out=np.zeros_like(data), where=np.asarray(mask) == 0)