Repository: pydata/xarray

Issue:
Dataset.update wrongly handles the coordinate
#### Code Sample, a copy-pastable example if possible

I noticed a bug introduced by #2087 (my PR) 

```python
import xarray as xr

ds = xr.Dataset({'var': ('x', [1, 2, 3])}, 
                coords={'x': [0, 1, 2], 'z1': ('x', [1, 2, 3]), 
                        'z2': ('x', [1, 2, 3])})

ds['var'] = ds['var'] * 2
```
It claims a ValueError.

#### Problem description
https://github.com/pydata/xarray/blob/0cc64a08c672e6361d05acea3fea9f34308b62ed/xarray/core/merge.py#L564

Here should be 
```python
other[k] = obj.drop(coord_names)
```
not 
```python
other[k] = obj.drop(*coord_names)
```


Discussion:

Patch:
diff --git a/xarray/core/merge.py b/xarray/core/merge.py
index 8ecb2c33..d3c9871a 100644
--- a/xarray/core/merge.py
+++ b/xarray/core/merge.py
@@ -561,7 +561,7 @@ def dataset_update_method(dataset, other):
             coord_names = [c for c in obj.coords
                            if c not in obj.dims and c in dataset.coords]
             if coord_names:
-                other[k] = obj.drop(*coord_names)
+                other[k] = obj.drop(coord_names)
 
     return merge_core([dataset, other], priority_arg=1,
                       indexes=dataset.indexes)


Test patch:
diff --git a/xarray/tests/test_dataset.py b/xarray/tests/test_dataset.py
index 51871472..b99f7ea1 100644
--- a/xarray/tests/test_dataset.py
+++ b/xarray/tests/test_dataset.py
@@ -2366,6 +2366,13 @@ class TestDataset(TestCase):
         actual['numbers'] = other
         assert actual['numbers'][0] == 10
 
+        # GH: 2099
+        ds = Dataset({'var': ('x', [1, 2, 3])},
+                     coords={'x': [0, 1, 2], 'z1': ('x', [1, 2, 3]),
+                             'z2': ('x', [1, 2, 3])})
+        ds['var'] = ds['var'] * 2
+        assert np.allclose(ds['var'], [2, 4, 6])
+
     def test_setitem_align_new_indexes(self):
         ds = Dataset({'foo': ('x', [1, 2, 3])}, {'x': [0, 1, 2]})
         ds['bar'] = DataArray([2, 3, 4], [('x', [1, 2, 3])])