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/1773#issuecomment-350879291,https://api.github.com/repos/pydata/xarray/issues/1773,350879291,MDEyOklzc3VlQ29tbWVudDM1MDg3OTI5MQ==,1217238,2017-12-11T22:27:58Z,2017-12-11T22:27:58Z,MEMBER,"It seems that sympy functions returned by lambdfy may not work on arbitrary dimensional inputs, or might not follow broadcasting rules. The workaround might be something like: ```python def vector_func_wrapper(dx, dy, dz, dt): dx, dy, dz, dt = np.broadcast_arrays(dx, dy, dz, dt) # explicitly broadcast args = [a.ravel() for a in [dx, dy, dz, dt]] # convert everything to a vector return vector_funcN(*args).reshape(dx.shape) xarray.apply_ufunc(vector_func_wrapper, dx, dy, dz, dt) ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,280899335 https://github.com/pydata/xarray/issues/1773#issuecomment-350821050,https://api.github.com/repos/pydata/xarray/issues/1773,350821050,MDEyOklzc3VlQ29tbWVudDM1MDgyMTA1MA==,1217238,2017-12-11T18:54:03Z,2017-12-11T18:54:03Z,MEMBER,"Broadcast allows a variadic number of arguments, so you can write something like: ```python gx, dy, gz, gt =xr.broadcast(dx, dy, dz, dt) ``` I'm not very familiar with sympy's lambdify, but I think something like `xarray.apply_ufunc(vector_funcN, dx, dy, dz, dt)` should work (where `dx`, `dy`, `dz` and `dt` are all xarray objects, even without manual broadcasting).","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,280899335 https://github.com/pydata/xarray/issues/1773#issuecomment-350806352,https://api.github.com/repos/pydata/xarray/issues/1773,350806352,MDEyOklzc3VlQ29tbWVudDM1MDgwNjM1Mg==,1217238,2017-12-11T18:02:39Z,2017-12-11T18:02:39Z,MEMBER,"If you make each of your arrays `xAxisDomian` an xarray.DataArray with appropriate dimensions, you can use `xarray.broadcast()` to convert all of them to common coordinates. `xarray.apply_ufunc` may also help.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,280899335