id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 280899335,MDU6SXNzdWUyODA4OTkzMzU=,1773,Use of Xarray instead of np.meshgrid,11997114,closed,0,,,7,2017-12-11T05:37:02Z,2017-12-14T01:58:50Z,2017-12-14T01:58:50Z,NONE,,,,"Is there a way to have xarray do what `np.meshgrid` does, for example, if I have a scaler, or vector function that I have generated via sympy or whatever. If need to plot it over spacetime region I currently have no choice but to try to navigate meshgrid instead I would prefre that I can define my spacetime domain to xarrays dimensions/coords and then pass it a function and store the functions result at the internal cell postions This may also be an issue of the weather example just not working for me ``` import numpy as np DomainSpaceTimeSize=5 #using cartesian 4D SpaceTimeDensity=[100, 5] #100 divisions in space 5 in time xAxisDomian=np.linspace(-DomainSpaceTimeSize, +DomainSpaceTimeSize, SpaceTimeDensity[0]) yAxisDomian=np.linspace(-DomainSpaceTimeSize, +DomainSpaceTimeSize, SpaceTimeDensity[0]) zAxisDomian=np.linspace(-DomainSpaceTimeSize, +DomainSpaceTimeSize, SpaceTimeDensity[0]) tAxisDomian=np.linspace(0, +DomainSpaceTimeSize, SpaceTimeDensity[1]) DummyScalerFunction=lambda x, y, z, t: np.cos(1*x+2*y+3*z-4*t) ``` Manual Vertex Results: ``` DummyScalerFunction(xAxisDomian[0], yAxisDomian[0], zAxisDomian[0], tAxisDomian[0]) DummyScalerFunction(xAxisDomian[-1], yAxisDomian[0], zAxisDomian[0], tAxisDomian[0]) DummyScalerFunction(xAxisDomian[0], yAxisDomian[-1], zAxisDomian[0], tAxisDomian[0]) DummyScalerFunction(xAxisDomian[0], yAxisDomian[0], zAxisDomian[-1], tAxisDomian[0]) DummyScalerFunction(xAxisDomian[0], yAxisDomian[0], zAxisDomian[0], tAxisDomian[-1]) DummyScalerFunction(xAxisDomian[-1], yAxisDomian[-1], zAxisDomian[-1], tAxisDomian[-1]) ``` What I have to do with meshgrid ``` X, Y, Z, T=np.meshgrid(xAxisDomian, yAxisDomian, zAxisDomian, tAxisDomian) DummyScalerFunction(X, Y, Z, T) ``` And this is why I want xarray do have the ability to do this, because if I want want to know what my scaler field values is at (x:0.0, y:1.0, z:0.0, t:3.0) well good luck trying to index the above. But if this was in xarray I would be able to call up the value of this particular field at said location via something like `data__['ScalerField', {x:0.0, y:1.0, z:0.0, t:3.0}, 'nearest']` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1773/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue