home / github

Menu
  • GraphQL API
  • Search all tables

issue_comments

Table actions
  • GraphQL API for issue_comments

5 rows where issue = 298834332 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: created_at (date), updated_at (date)

user 4

  • JiaweiZhuang 2
  • rabernat 1
  • shoyer 1
  • jhamman 1

author_association 2

  • MEMBER 3
  • NONE 2

issue 1

  • apply_ufunc produces illegal coordinate sizes · 5 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
367456457 https://github.com/pydata/xarray/issues/1931#issuecomment-367456457 https://api.github.com/repos/pydata/xarray/issues/1931 MDEyOklzc3VlQ29tbWVudDM2NzQ1NjQ1Nw== JiaweiZhuang 25473287 2018-02-21T20:13:29Z 2018-02-21T20:13:29Z NONE

@shoyer OK, I see that keeping the core dims does make sense in some cases. I am fine with doing something like

xr.apply_ufunc(apply_A, dr, input_core_dims=[['x']], output_core_dims=[['x_new']]).rename({'x_new': 'x'})

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  apply_ufunc produces illegal coordinate sizes 298834332
367417542 https://github.com/pydata/xarray/issues/1931#issuecomment-367417542 https://api.github.com/repos/pydata/xarray/issues/1931 MDEyOklzc3VlQ29tbWVudDM2NzQxNzU0Mg== shoyer 1217238 2018-02-21T18:09:07Z 2018-02-21T18:09:07Z MEMBER

Xarray should certainly be raising an informative error message earlier rather than only when writing these files to disk. It should not be possible to create coordinates with inconsistent dimension sizes.

I would hesitate to drop coordinates associated with core dimensions that appear in both the input and output, because there are definitely functions that do preserve dimension identity, e.g., for a ufunc that normalizes across a dimension, e.g., centered_in_time = xr.apply_ufunc(lambda x: x - x.mean(axis=-1), ds, input_core_dims=[['time']], output_core_dims=[['time']]).

I think your "Case 2: Specifying a new output dimension name" should be the recommended pattern here. This already removes all coordinates associated with the input core dimensions (since they are not specified on outputs), so you can simply rename the output dimensions to achieve your desired result, e.g., dr_out2.rename({'x_new': 'x'}).

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  apply_ufunc produces illegal coordinate sizes 298834332
367380855 https://github.com/pydata/xarray/issues/1931#issuecomment-367380855 https://api.github.com/repos/pydata/xarray/issues/1931 MDEyOklzc3VlQ29tbWVudDM2NzM4MDg1NQ== JiaweiZhuang 25473287 2018-02-21T16:17:44Z 2018-02-21T16:17:44Z NONE

@jhamman @rabernat Thanks for the help!

Raising an error when encountering this issue and adding keep_core_coords=False to optionally drop the coordinate would be a good solution for me.

But is there any case that we do want to keep the core coordinate? Since input_core_dims means "dimensions that should not be broadcast", I suppose that the output DataArray has no way to inherit these non-broadcasting dimensions? Should the core coordinate just be dropped by default?

Another more basic issue: Users are allowed the mess-up the coordinate dimension of an existing DataArray. Is this an expected behavior?

``` In [1]: import xarray as xr

In [2]: xr.DataArray([0, 1, 2, 3], dims='x', coords={'x':[0, 1]}) # this is not allowed (...) ValueError: conflicting sizes for dimension 'x': length 4 on the data but length 2 on coordinate 'x'

In [3]: dr = xr.DataArray([0, 1, 2, 3], dims='x', coords={'x':[0, 1, 2, 3]})

In [4]: dr['x'] = [0, 1] # but you can mess-up the coordinate dimension afterwards

In [5]: dr Out[5]: <xarray.DataArray (x: 4)> array([0, 1, 2, 3]) Coordinates: * x (x) int64 0 1

In [6]: dr.to_netcdf('wrong_coordinate.nc') (...) ValueError: conflicting sizes for dimension 'x': length 4 on 'xarray_dataarray_variable' and length 2 on 'x' ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  apply_ufunc produces illegal coordinate sizes 298834332
367359953 https://github.com/pydata/xarray/issues/1931#issuecomment-367359953 https://api.github.com/repos/pydata/xarray/issues/1931 MDEyOklzc3VlQ29tbWVudDM2NzM1OTk1Mw== rabernat 1197350 2018-02-21T15:18:32Z 2018-02-21T15:18:42Z MEMBER

👍 I agree we should try to fix these issues upstream (in xarray) rather than compelling @JiaweiZhuang to work around them in xESMF. Thanks for the bug report.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  apply_ufunc produces illegal coordinate sizes 298834332
367223238 https://github.com/pydata/xarray/issues/1931#issuecomment-367223238 https://api.github.com/repos/pydata/xarray/issues/1931 MDEyOklzc3VlQ29tbWVudDM2NzIyMzIzOA== jhamman 2443309 2018-02-21T06:04:35Z 2018-02-21T06:04:35Z MEMBER

@JiaweiZhuang - thanks for the report. Based on your example, I think we should be raising an error when constructing the output object. That won't help your use case which we do want to support so I think another option to drop the coordinate may also be in order.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  apply_ufunc produces illegal coordinate sizes 298834332

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [performed_via_github_app] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
);
CREATE INDEX [idx_issue_comments_issue]
    ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
    ON [issue_comments] ([user]);
Powered by Datasette · Queries took 719.679ms · About: xarray-datasette