home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 609481850

This data as json

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/3891#issuecomment-609481850 https://api.github.com/repos/pydata/xarray/issues/3891 609481850 MDEyOklzc3VlQ29tbWVudDYwOTQ4MTg1MA== 35968931 2020-04-05T20:59:36Z 2020-04-05T21:01:09Z MEMBER

I think this is a good question @max-sixty , and I have some opinions based on my experience with xBOUT.

Firstly I agree with you that for those users who use xarray as a convenience wrapper or for whom it's useful but not critical it makes more sense to keep attrs by default. "Drop by default because otherwise they might become inconsistent with your data" never really made sense to me, because if you care that much about attrs being consistent with data then you really need well-defined rules for how they are propagated in all cases, which we don't (yet) offer. In all other cases you would rather keep them and have to deal with the edge cases (which is why I wanted #2482 ).

As a concrete usage example of wanting to preserve attrs while not being overly-concerned if they sometimes get dropped: in xBOUT, our data requires carting around some regions attributes so that we know how to plot it later. One day this could maybe be handled by custom indexes in xBOUT, but there are probably other communities whose attrs requirements couldn't be.

After the casual wrapper case, the most important cases are: - Units, which IMO becomes much less relevant once pint integration is complete, - Data provenance, - CF conventions - Other domain-specific types of grids (like the xBOUT case, or staggered grids etc.)

At the risk of repeating what's in #1614 , I would like to see some hybrid approach, which gives a simple global default along the lines of what @crusaderky suggests, but also allows a plugin which takes over and rigorously specifies the behaviour for the users who do care. Then we can outsource the work of the complex logic to e.g. the community that actually has to preserve CF conventions, or a separate data provenance package.

(Also I made a new metadata issue label for these discussions)

{
    "total_count": 2,
    "+1": 2,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  587895591
Powered by Datasette · Queries took 0.786ms · About: xarray-datasette