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/pull/1330#issuecomment-305052905,https://api.github.com/repos/pydata/xarray/issues/1330,305052905,MDEyOklzc3VlQ29tbWVudDMwNTA1MjkwNQ==,1217238,2017-05-31T01:09:12Z,2017-05-31T01:09:12Z,MEMBER,In it goes! Thanks everyone for your feedback.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,217287113 https://github.com/pydata/xarray/pull/1330#issuecomment-303858492,https://api.github.com/repos/pydata/xarray/issues/1330,303858492,MDEyOklzc3VlQ29tbWVudDMwMzg1ODQ5Mg==,1217238,2017-05-24T21:35:13Z,2017-05-24T21:35:13Z,MEMBER,I switched from AlignmentError -> ValueError. We can always add an AlignmentError later subclassing from ValueError if we want it.,"{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,217287113 https://github.com/pydata/xarray/pull/1330#issuecomment-302728009,https://api.github.com/repos/pydata/xarray/issues/1330,302728009,MDEyOklzc3VlQ29tbWVudDMwMjcyODAwOQ==,5356122,2017-05-19T15:05:39Z,2017-05-19T15:05:39Z,MEMBER,This has been sitting for a little while... @shoyer please don't let my comment keep you from merging- it was more to note that this introduces custom error types.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,217287113 https://github.com/pydata/xarray/pull/1330#issuecomment-302711852,https://api.github.com/repos/pydata/xarray/issues/1330,302711852,MDEyOklzc3VlQ29tbWVudDMwMjcxMTg1Mg==,1217238,2017-05-19T14:05:12Z,2017-05-19T14:05:12Z,MEMBER,"> Does align='exact' require the indices to be be compared value by value? Yes, it does. It checks indexes for equality, and if they don't match it raises an error (rather than aligning).","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,217287113 https://github.com/pydata/xarray/pull/1330#issuecomment-302577397,https://api.github.com/repos/pydata/xarray/issues/1330,302577397,MDEyOklzc3VlQ29tbWVudDMwMjU3NzM5Nw==,1197350,2017-05-19T00:34:33Z,2017-05-19T00:34:33Z,MEMBER,"Trying to understand how this relates to #1413... Does `align='exact'` require the indices to be be compared value by value? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,217287113 https://github.com/pydata/xarray/pull/1330#issuecomment-290578639,https://api.github.com/repos/pydata/xarray/issues/1330,290578639,MDEyOklzc3VlQ29tbWVudDI5MDU3ODYzOQ==,5356122,2017-03-31T00:01:10Z,2017-03-31T00:01:10Z,MEMBER,"I'm thinking about some of the ones in `alignment.py` which are currently `ValueError`, for example: https://github.com/pydata/xarray/blob/master/xarray/core/alignment.py#L303","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,217287113 https://github.com/pydata/xarray/pull/1330#issuecomment-290576826,https://api.github.com/repos/pydata/xarray/issues/1330,290576826,MDEyOklzc3VlQ29tbWVudDI5MDU3NjgyNg==,1217238,2017-03-30T23:49:21Z,2017-03-30T23:49:21Z,MEMBER,"> Is it worth introducing custom exception types into xarray? My thought is that custom exception types make sense when the exception is effectively part of the API, though possibly it would make sense to have AlignmentError inherit from ValueError. For example, the first part of a utility function `my_custom_align` might involve something like: ``` def is_aligned(*objects): try: xarray.align(*objects, join='exact') except AlignmentError: return False else: return True ``` (actually, perhaps we should write `is_aligned` ourselves!) Or to log potential performance issues: ``` def align_but_log(*objects): try: aligned = xarray.align(*objects, join='exact') except AlignmentError: logging.warning('objects were not aligned') aligned = xarray.align(*objects) return aligned ``` > Otherwise you'll probably want to change some others to AlignmentError for consistency. I actually think every operation that automatically aligns already goes through `xarray.align`. Though it's probably worth double checking...","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,217287113 https://github.com/pydata/xarray/pull/1330#issuecomment-290572513,https://api.github.com/repos/pydata/xarray/issues/1330,290572513,MDEyOklzc3VlQ29tbWVudDI5MDU3MjUxMw==,5356122,2017-03-30T23:20:59Z,2017-03-30T23:20:59Z,MEMBER,"> Does it seem useful to you? Yes, it's a nice sanity check. > Does the name join='exact' make sense? Yes. > Any thoughts on this feature? Is it worth introducing custom exception types into xarray? Seems like `ValueError` would be fine here. Then users can write this without having to know we use our own special exceptions: ``` try: xarray.merge([ds1, ds2], join='exact') except ValueError: ... ``` Otherwise you'll probably want to change some others to `AlignmentError` for consistency. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,217287113 https://github.com/pydata/xarray/pull/1330#issuecomment-290567817,https://api.github.com/repos/pydata/xarray/issues/1330,290567817,MDEyOklzc3VlQ29tbWVudDI5MDU2NzgxNw==,1217238,2017-03-30T22:53:18Z,2017-03-30T22:53:18Z,MEMBER,@pydata/xarray Any thoughts on this feature? Does it seem useful to you? Does the name `join='exact'` make sense?,"{""total_count"": 3, ""+1"": 3, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,217287113