xarray_d_grid
- PlasmaCalcs.tools.xarray_tools.xarray_sci.xarray_d_grid(array, coord)
return the gradient of array[coord], along dim=coord if possible, else along ‘{coord}_dim’.
Example (which demonstrates the motivation for this function):
minvals = pc.xr1d([1,2,3], ‘mindim’)maxvals = pc.xr1d([5,7], ‘maxdim’)grid = pc.xarray_grid(min=minvals, max=maxvals, N=10, name=’grid’)# grid has sizes {‘mindim’: 3, ‘maxdim’: 2, ‘grid_dim’: 10}, and coord ‘grid’ telling values.# if grid is part of some physical formula leading to a meaningful value, e.g.:meaningful_value = grid * 10# then it might be useful to know d(grid), the spacing of ‘grid’ along ‘grid_dim’.# But, for a dimension-agnostic approach, it is important to note that a simpler grid,# like: simple_grid = pc.xarray_grid(min=1, max=7, N=10, name=’grid’)# would only have ‘grid’ and not ‘grid_dim’.# Using xarray_d_grid handles both cases properly, in one line:d_grid = xarray_d_grid(meaningful_value, ‘grid’)# or, equivalently, either of the following:d_grid = xarray_d_grid(grid, ‘grid’) # equivalent resultd_grid = xarray_d_grid(meaningful_value[‘grid’], ‘grid’) # also equivalent