Probably need to provide the user with a warning.
>>> import xarray as xr
>>> import pandas as pd
>>> import numpy as np
>>> from scipy.stats import norm
>>> import xskillscore as xs
>>> obs = xr.DataArray(
... np.random.rand(3, 4, 5),
... coords=[
... pd.date_range("1/1/2000", "1/3/2000", freq="D"),
... np.arange(4),
... np.arange(5),
... ],
... dims=["time", "lat", "lon"],
... )
>>> fct = obs.copy()
>>> fct.values = np.random.rand(3, 4, 5)
>>> weights = np.cos(np.deg2rad(obs.lat))
>>> _, weights = xr.broadcast(obs, weights)
>>> weights = weights.isel(time=0)
>>> r = xs.pearson_r(obs, fct, ["time", "lat", "lon"], weights=weights)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ray/Documents/PYTHON_dev/xskillscore/xskillscore/core/deterministic.py", line 120, in pearson_r
weights = weights.stack(**{new_dim: dim})
File "/home/ray/local/bin/anaconda3/envs/xss/lib/python3.6/site-packages/xarray/core/dataarray.py", line 1725, in stack
ds = self._to_temp_dataset().stack(dimensions, **dimensions_kwargs)
File "/home/ray/local/bin/anaconda3/envs/xss/lib/python3.6/site-packages/xarray/core/dataset.py", line 3234, in stack
result = result._stack_once(dims, new_dim)
File "/home/ray/local/bin/anaconda3/envs/xss/lib/python3.6/site-packages/xarray/core/dataset.py", line 3181, in _stack_once
shape = [self.dims[d] for d in vdims]
File "/home/ray/local/bin/anaconda3/envs/xss/lib/python3.6/site-packages/xarray/core/dataset.py", line 3181, in <listcomp>
shape = [self.dims[d] for d in vdims]
File "/home/ray/local/bin/anaconda3/envs/xss/lib/python3.6/site-packages/xarray/core/utils.py", line 386, in __getitem__
return self.mapping[key]
File "/home/ray/local/bin/anaconda3/envs/xss/lib/python3.6/site-packages/xarray/core/utils.py", line 417, in __getitem__
return self.mapping[key]
KeyError: 'time'