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/277#issuecomment-275979038,https://api.github.com/repos/pydata/xarray/issues/277,275979038,MDEyOklzc3VlQ29tbWVudDI3NTk3OTAzOA==,1562854,2017-01-30T04:42:12Z,2017-01-30T04:42:12Z,CONTRIBUTOR,"OK, great! I figured it out. Something like the below works; @rabernat had pointed to a similar solution, but I didn't quite understand what `dask.array.map_blocks` was doing.
```
import xmitgcm
import xarray as xr
data = xmitgcm.open_mdsdataset(dirname='./',prefix={'T'},iters=12600,read_grid=True,geometry='cartesian',endian='<',
chunks={'Z':1,'time':1})
def interpolateAtDepth(T,x0,y0,x,y):
import scipy.interpolate
if np.shape(T)[-1]>1:
xout=np.zeros((1,1,ny,nx))
fit=scipy.interpolate.RectBivariateSpline(x0,y0,T[0,0,:,:].T)
xout = fit(x,y).T
else:
xout=np.ones((1,1,1,1))
return xout
# x, y, nx, ny are determined elsewhere, but set the new grid...
tm = data['T'].data.map_blocks(interpolateAtDepth,data['XC'].values,data['YC'].values,x,y,chunks=(1,1,ny,nx))
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,48301141
https://github.com/pydata/xarray/issues/277#issuecomment-275776968,https://api.github.com/repos/pydata/xarray/issues/277,275776968,MDEyOklzc3VlQ29tbWVudDI3NTc3Njk2OA==,1562854,2017-01-27T21:17:57Z,2017-01-27T21:17:57Z,CONTRIBUTOR,"Given the `dask` integration, being able to initialize DataArrays that are chunked would be very helpful. I want to map from an old x-y-z grid to a new one, and theoretically it could be too memory intensive to keep the new grid in memory, so it would be nice to initialize an empty one and then fill it. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,48301141