def mean_additive_bias(da_cmp, da_ref, over_dims):
    """ 
        Returns the additive bias between comparison and reference datasets
        Author: Dougie Squire
        Date: 28/04/2018
        
        Parameters
        ----------
        da_cmp : xarray DataArray
            Array containing data to be compared to reference dataset (usually forecasts)
        da_ref : xarray DataArray
            Array containing reference data (usually observations)
        over_dims : str or sequence of str, optional
            Dimensions over which to compute the mean additive bias
            
        Returns
        -------
        mean_additive_bias : xarray DataArray
            Array containing the mean additive biases
            
        Examples
        --------
        >>> da_cmp = xr.DataArray(np.random.normal(size=(3,3)), 
        ...                       coords=[('x', np.arange(3)), ('y', np.arange(3))])
        >>> da_ref = xr.DataArray(np.random.normal(size=(3,3)), 
        ...                       coords=[('x', np.arange(3)), ('y', np.arange(3))])
        >>> doppyo.skill.mean_additive_bias(da_cmp, da_ref, over_dims='x')
        <xarray.DataArray 'mean_additive_bias' (y: 3)>
        array([0.328462, 0.172263, 0.402438])
        Coordinates:
          * y        (y) int64 0 1 2
        
        Notes
        -----
        See http://www.cawcr.gov.au/projects/verification/
    """
    
    if isinstance(over_dims, str):
        over_dims = [over_dims]
        
    if over_dims == None:
        over_dims = []

    return (da_cmp - da_ref).mean(dim=over_dims, skipna=True) \
                            .rename('mean_additive_bias')