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/3575#issuecomment-594340481,https://api.github.com/repos/pydata/xarray/issues/3575,594340481,MDEyOklzc3VlQ29tbWVudDU5NDM0MDQ4MQ==,2448579,2020-03-04T05:51:37Z,2020-03-04T05:51:37Z,MEMBER,"With #3816, this becomes
```
import xarray as xr
ds = xr.tutorial.load_dataset('rasm').chunk({'y': 20})
def calculate_anomaly(ds):
gb = ds.groupby(""time.month"")
clim = gb.mean(dim='time')
return gb - clim
# the result looks like ds, so pass that as template
xr.map_blocks(calculate_anomaly, ds, template=ds)
```
@rabernat How does this look to you?","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,528884925
https://github.com/pydata/xarray/issues/3575#issuecomment-558779222,https://api.github.com/repos/pydata/xarray/issues/3575,558779222,MDEyOklzc3VlQ29tbWVudDU1ODc3OTIyMg==,2448579,2019-11-26T19:19:25Z,2019-11-26T19:19:25Z,MEMBER,"> +1, for the Dataset case, this would require some sort of dtype/shape schema though.
This is why I didn't do it for the first pass","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,528884925
https://github.com/pydata/xarray/issues/3575#issuecomment-558771260,https://api.github.com/repos/pydata/xarray/issues/3575,558771260,MDEyOklzc3VlQ29tbWVudDU1ODc3MTI2MA==,2443309,2019-11-26T18:58:37Z,2019-11-26T18:58:37Z,MEMBER,"> We should allow the user to override the checks by explicitly specifying output dtype and shape
+1, for the Dataset case, this would require some sort of dtype/shape schema though. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,528884925
https://github.com/pydata/xarray/issues/3575#issuecomment-558764219,https://api.github.com/repos/pydata/xarray/issues/3575,558764219,MDEyOklzc3VlQ29tbWVudDU1ODc2NDIxOQ==,1197350,2019-11-26T18:40:03Z,2019-11-26T18:40:03Z,MEMBER,"Right that’s what I did too. But it’s a hack!
Sent from my iPhone
> On Nov 26, 2019, at 1:25 PM, Deepak Cherian wrote:
>
>
> p.s. In this case the default assumption, that the output would be the same shape and dtype as the input, would have been fine.
>
> I've been sticking this at the top when necessary:
>
> if sum(ds.shape) == 0:
> return ds
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub, or unsubscribe.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,528884925
https://github.com/pydata/xarray/issues/3575#issuecomment-558758173,https://api.github.com/repos/pydata/xarray/issues/3575,558758173,MDEyOklzc3VlQ29tbWVudDU1ODc1ODE3Mw==,2448579,2019-11-26T18:25:00Z,2019-11-26T18:25:00Z,MEMBER,"> p.s. In this case the default assumption, that the output would be the same shape and dtype as the input, would have been fine.
I've been sticking this at the top when necessary:
``` python
if sum(ds.shape) == 0:
return ds
```
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,528884925
https://github.com/pydata/xarray/issues/3575#issuecomment-558747568,https://api.github.com/repos/pydata/xarray/issues/3575,558747568,MDEyOklzc3VlQ29tbWVudDU1ODc0NzU2OA==,1197350,2019-11-26T17:57:09Z,2019-11-26T17:57:09Z,MEMBER,"p.s. In this case the default assumption, that the output would be the same shape and dtype as the input, would have been fine.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,528884925