def mean_multiplicative_bias(da_cmp, da_ref, over_dims):
    """ 
        Returns the multiplicative 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 multiplicative bias
            
        Returns
        -------
        mean_multiplicative_bias : xarray DataArray
            Array containing the mean multiplicative 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_multiplicative_bias(da_cmp, da_ref, over_dims='x')
        <xarray.DataArray 'mean_multiplicative_bias' (y: 3)>
        array([ 2.108882,  4.356835, -0.83234 ])
        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_multiplicative_bias')
