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/1877#issuecomment-368461033,https://api.github.com/repos/pydata/xarray/issues/1877,368461033,MDEyOklzc3VlQ29tbWVudDM2ODQ2MTAzMw==,3169620,2018-02-26T10:46:47Z,2018-02-26T10:46:47Z,CONTRIBUTOR,"It's OK - I think @shoyer is right - it shouldn't silently promote the type, and the error message is clear. Thanks","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,293445250
https://github.com/pydata/xarray/issues/475#issuecomment-356327572,https://api.github.com/repos/pydata/xarray/issues/475,356327572,MDEyOklzc3VlQ29tbWVudDM1NjMyNzU3Mg==,3169620,2018-01-09T16:01:16Z,2018-01-09T16:01:16Z,CONTRIBUTOR,"Further to the comment I made in a related issue [#486 comment ](https://github.com/pydata/xarray/issues/486#issuecomment-291953242) I've now taken a simplified version of the collocation approach in CIS and created a stand-alone package which works with xarray objects: https://github.com/cistools/collocate.
This works essentially the same as the nice example shown in the above blog, with some key differences:
* The points within a certain distance (tolerance) of each sample point can be aggregated or selected from using the built-in kernels, allowing fast operations over many sample points.
* The horizontal distance constraint can be supplemented with constraints in other dimensions (such as time or altitude).
* The transform from Cartesian to Eucledian coordinates is not needed as we use our own KD-Tree implementation which builds haversine rectangles. Depending on use cases this isn't always the fastest approach, but it does sidestep some nasty dateline issues.
* In the case where only the nearest points in the horizontal is needed the collocation falls back the fast single point lookup.
* The KD-Tree implementation is (relatively well) separated so could easily be switched out for cKDtree or pyresample implementations
* There are a some tests too, although no docs yet.
I'll try and put together a notebook building on the above blogpost so that the similarities and differences are a bit clearer.
I'm not familiar enough with xarray indexing to be able to say how well this would fit inside xarray, but hopefully it will be useful before we're able to crack KD-MultiIndexes!
","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,95114700
https://github.com/pydata/xarray/pull/1750#issuecomment-353014435,https://api.github.com/repos/pydata/xarray/issues/1750,353014435,MDEyOklzc3VlQ29tbWVudDM1MzAxNDQzNQ==,3169620,2017-12-20T09:41:31Z,2017-12-20T09:41:31Z,CONTRIBUTOR,This looks good to go now - thanks for all your help!,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278286073
https://github.com/pydata/xarray/pull/1750#issuecomment-352884720,https://api.github.com/repos/pydata/xarray/issues/1750,352884720,MDEyOklzc3VlQ29tbWVudDM1Mjg4NDcyMA==,3169620,2017-12-19T20:59:54Z,2017-12-19T20:59:54Z,CONTRIBUTOR,"Ah yes, sorry about that - fixed now.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278286073
https://github.com/pydata/xarray/pull/1750#issuecomment-352792765,https://api.github.com/repos/pydata/xarray/issues/1750,352792765,MDEyOklzc3VlQ29tbWVudDM1Mjc5Mjc2NQ==,3169620,2017-12-19T15:30:22Z,2017-12-19T15:30:22Z,CONTRIBUTOR,"Yep, it's not a very exciting cube, but it runs fine.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278286073
https://github.com/pydata/xarray/pull/1750#issuecomment-352517727,https://api.github.com/repos/pydata/xarray/issues/1750,352517727,MDEyOklzc3VlQ29tbWVudDM1MjUxNzcyNw==,3169620,2017-12-18T18:32:50Z,2017-12-18T18:32:50Z,CONTRIBUTOR,How's this? (I turned the example around so that I create the cube as a DataArray then convert it...),"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278286073
https://github.com/pydata/xarray/pull/1750#issuecomment-352482551,https://api.github.com/repos/pydata/xarray/issues/1750,352482551,MDEyOklzc3VlQ29tbWVudDM1MjQ4MjU1MQ==,3169620,2017-12-18T16:40:59Z,2017-12-18T16:40:59Z,CONTRIBUTOR,"dask/dask#2977 would certianly make it cleaner, but [95b0197](https://github.com/pydata/xarray/pull/1750/commits/95b0197ebb0b5258db8deee48b2657fab7d86ca4 ) should work in the meantime, unless there's a specific case I've missed?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278286073
https://github.com/pydata/xarray/pull/1750#issuecomment-352450958,https://api.github.com/repos/pydata/xarray/issues/1750,352450958,MDEyOklzc3VlQ29tbWVudDM1MjQ1MDk1OA==,3169620,2017-12-18T15:04:53Z,2017-12-18T15:04:53Z,CONTRIBUTOR,Great - thanks!,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278286073
https://github.com/pydata/xarray/pull/1750#issuecomment-352398860,https://api.github.com/repos/pydata/xarray/issues/1750,352398860,MDEyOklzc3VlQ29tbWVudDM1MjM5ODg2MA==,3169620,2017-12-18T11:22:24Z,2017-12-18T11:22:24Z,CONTRIBUTOR,"OK, here's another go. It's not pretty, but it seems to work. Once the various issues referenced above are solved it should clean it up, but I'd rather not wait for those since this has been in the works a while now.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278286073
https://github.com/pydata/xarray/pull/1750#issuecomment-349602563,https://api.github.com/repos/pydata/xarray/issues/1750,349602563,MDEyOklzc3VlQ29tbWVudDM0OTYwMjU2Mw==,3169620,2017-12-06T10:46:07Z,2017-12-06T10:46:07Z,CONTRIBUTOR,Thanks for the feedback @shoyer and sorry for all the typos!,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278286073
https://github.com/pydata/xarray/pull/1750#issuecomment-348434198,https://api.github.com/repos/pydata/xarray/issues/1750,348434198,MDEyOklzc3VlQ29tbWVudDM0ODQzNDE5OA==,3169620,2017-12-01T08:33:50Z,2017-12-01T08:34:00Z,CONTRIBUTOR,"> I think this may be a reasonable place to start, though it is certainly not leveraging Iris's full metadata decoding capabilities.
It seams like a decent starting point, were there specific decodings you had in mind?
> It would also be nice to pass dask arrays back and forth, but that will probably need to wait until after Iris 2.0 and #1372 is solved.
Agreed.
Do you have a feel for if/where else this should be documented? I'm not sure if really fits in I/O...","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,278286073
https://github.com/pydata/xarray/pull/814#issuecomment-348221278,https://api.github.com/repos/pydata/xarray/issues/814,348221278,MDEyOklzc3VlQ29tbWVudDM0ODIyMTI3OA==,3169620,2017-11-30T15:25:44Z,2017-11-30T15:25:44Z,CONTRIBUTOR,"I'm happy to pick this up - I'm not sure how best to pick up someone else's pull request though. Am I best off forking nparley:master then resubmitting, or creating a new one and merging in the changes from nparley:master?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,145140657
https://github.com/pydata/xarray/issues/1715#issuecomment-343967296,https://api.github.com/repos/pydata/xarray/issues/1715,343967296,MDEyOklzc3VlQ29tbWVudDM0Mzk2NzI5Ng==,3169620,2017-11-13T16:07:01Z,2017-11-13T16:07:01Z,CONTRIBUTOR,"Yes, you're right - it works now in 0.10.0rc1. Apologies for the noise!","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,273459295
https://github.com/pydata/xarray/issues/486#issuecomment-291953242,https://api.github.com/repos/pydata/xarray/issues/486,291953242,MDEyOklzc3VlQ29tbWVudDI5MTk1MzI0Mg==,3169620,2017-04-05T18:29:33Z,2017-04-05T18:29:53Z,CONTRIBUTOR,"@jhamman @godfrey4000 - I'm not sure of the status of this, but I'm the lead developer on a package called [CIS](https://github.com/cedadev/cis) which might be useful/relevant.
It was designed as a command line tool to allow easy collocation (resampling) between different model and observation datasets, but is now also a Python library. We spent a fair amount of time thinking about the various permutations and you can see some of the details in our paper [here](http://www.geosci-model-dev.net/9/3093/2016/). Internally we currently use [Iris](https://github.com/scitools/iris) Cube-like objects but it would be pretty easy to operate on xarray Datasets since they share a similar design.
The basic syntax is:
```
from CIS import read_data
X = read_data('some_obs_data.nc')
Y = read_data('some_other_data.nc')
X.sampled_from(Y)
# or...
Y.collocated_onto(X)
```
Happy to discuss further here, or in `xmap`.","{""total_count"": 5, ""+1"": 5, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,96211612