html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/1522#issuecomment-325424275,https://api.github.com/repos/pydata/xarray/issues/1522,325424275,MDEyOklzc3VlQ29tbWVudDMyNTQyNDI3NQ==,6213168,2017-08-28T17:44:32Z,2017-08-28T17:44:32Z,MEMBER,"Travis is failing in a few environments, but I just tested that I get the exact same errors in the master branch","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,252543868 https://github.com/pydata/xarray/issues/1522#issuecomment-325416896,https://api.github.com/repos/pydata/xarray/issues/1522,325416896,MDEyOklzc3VlQ29tbWVudDMyNTQxNjg5Ng==,1217238,2017-08-28T17:18:41Z,2017-08-28T17:18:41Z,MEMBER,"Hmm. My guess (untested) is that `ds.coords['z'] = ('z', data)` may be creating a `Variable` object instead of an `IndexVariable` by mistake. I opened another issue for this one: #1533","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,252543868 https://github.com/pydata/xarray/issues/1522#issuecomment-325415311,https://api.github.com/repos/pydata/xarray/issues/1522,325415311,MDEyOklzc3VlQ29tbWVudDMyNTQxNTMxMQ==,6213168,2017-08-28T17:12:51Z,2017-08-28T17:17:09Z,MEMBER,"Given this: ``` def kernel(): print(""Kernel invoked!"") return numpy.array([100, 200]) data = dask.array.Array(name='foo', dask={('foo', 0): (kernel, )}, chunks=((2,),), dtype=float) ``` This correctly computes the coord once: ``` ds = xarray.Dataset(coords={'z': ('z', data)}) ``` While this computes it twice: ``` ds = xarray.Dataset() ds.coords['z'] = ('z', data) ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,252543868 https://github.com/pydata/xarray/issues/1522#issuecomment-325405998,https://api.github.com/repos/pydata/xarray/issues/1522,325405998,MDEyOklzc3VlQ29tbWVudDMyNTQwNTk5OA==,1217238,2017-08-28T16:38:30Z,2017-08-28T16:38:30Z,MEMBER,"> There is a separate problem where index coords are computed twice. Index coordinates (i.e., `IndexVariable`) are supposed to be calculated once, when they are added to an xarray object. If they are getting computed via `as_variable` in `expand_variable_dicts` (which is called from `_get_priority_vars()`) then something has already gone wrong.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,252543868 https://github.com/pydata/xarray/issues/1522#issuecomment-325373215,https://api.github.com/repos/pydata/xarray/issues/1522,325373215,MDEyOklzc3VlQ29tbWVudDMyNTM3MzIxNQ==,6213168,2017-08-28T14:42:33Z,2017-08-28T14:48:12Z,MEMBER,"This is in Jupyter: ``` def kernel(): print(""Kernel invoked!"") return numpy.array([100, 200]) data = dask.array.Array(name='foo', dask={('foo', 0): (kernel, )}, chunks=((2,),), dtype=float) ds = xarray.Dataset( data_vars={ 'foo': xarray.DataArray(data, dims=['x'], coords={'x': [10, 20]}), 'bar': xarray.DataArray([1, 2], dims=['x'], coords={'x': [10, 20]}), }) ds.coords['y'] = ('y', [3, 4]) ds.coords['x2'] = ('x', data) ds ``` Output: ``` Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Kernel invoked! Out[2]: Dimensions: (x: 2, y: 2) Coordinates: * x (x) int64 10 20 * y (y) int64 3 4 x2 (x) float64 100 200 Data variables: foo (x) float64 100 200 bar (x) int64 1 2 ``` YIKES! Here you have two separate issues: one is with repr() as expected. The other is the fact that Jupyter invokes getattr() on a plethora of \_ipython\_* attributes that xarray doesn't define, and there was an issue where all non-index coords were blindly being converted to indexVariable (which loads the data) every. single. time.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,252543868 https://github.com/pydata/xarray/issues/1522#issuecomment-325374125,https://api.github.com/repos/pydata/xarray/issues/1522,325374125,MDEyOklzc3VlQ29tbWVudDMyNTM3NDEyNQ==,6213168,2017-08-28T14:45:45Z,2017-08-28T14:45:45Z,MEMBER,"There is a separate problem where index coords are computed twice. Didn't fix it yet and I am afraid of a domino effect. The problem is in merge.py:merge_coords(): ``` _assert_compat_valid(compat) coerced = coerce_pandas_values(objs) aligned = deep_align(coerced, join=join, copy=False, indexes=indexes) expanded = expand_variable_dicts(aligned) priority_vars = _get_priority_vars(aligned, priority_arg, compat=compat) variables = merge_variables(expanded, priority_vars, compat=compat) assert_unique_multiindex_level_names(variables) ``` Here, both expand_variable_dicts() and _get_priority_vars() compute the dask array.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,252543868 https://github.com/pydata/xarray/issues/1522#issuecomment-325289130,https://api.github.com/repos/pydata/xarray/issues/1522,325289130,MDEyOklzc3VlQ29tbWVudDMyNTI4OTEzMA==,6213168,2017-08-28T08:10:02Z,2017-08-28T08:10:02Z,MEMBER,working on this now,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,252543868 https://github.com/pydata/xarray/issues/1522#issuecomment-324709347,https://api.github.com/repos/pydata/xarray/issues/1522,324709347,MDEyOklzc3VlQ29tbWVudDMyNDcwOTM0Nw==,1217238,2017-08-24T17:54:20Z,2017-08-24T17:54:20Z,MEMBER,I think we should probably just print the placeholders for dask arrays in all cases. The current behavior should require calling a `.preview()` method of some sort.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,252543868