import numpy as np
import xarray as xr
import discretisedfield as df
mesh = df.Mesh(p1=(0, 0, 0), p2=(20, 10, 5), cell=(1, 1, 1))
field0 = df.Field(mesh, dim=3, value=(0, 0, 1), norm=1)
Four additional fields with changed value, to resemble a time series.
field1 = df.Field(mesh, dim=3, value=(1, 0, 2), norm=1)
field2 = df.Field(mesh, dim=3, value=(1, 0, 1), norm=1)
field3 = df.Field(mesh, dim=3, value=(2, 0, 1), norm=1)
field4 = df.Field(mesh, dim=3, value=(1, 0, 0), norm=1)
field0.plane("y").mpl()
field1.plane("y").mpl()
Mesh coordinates shoud at some point be available from df.Mesh
.
x = np.linspace(0.5, 19.5, 20)
y = np.linspace(0.5, 9.5, 10)
z = np.linspace(0.5, 4.5, 5)
t = np.linspace(0, 4, 5)
data = xr.DataArray(
field0.array,
dims=("x", "y", "z", "vector"),
coords={"x": x, "y": y, "z": z, "vector": ["mx", "my", "mz"]},
)
data
<xarray.DataArray (x: 20, y: 10, z: 5, vector: 3)> array([[[[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], ..., ... ..., [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]]]]) Coordinates: * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5 * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 * z (z) float64 0.5 1.5 2.5 3.5 4.5 * vector (vector) <U2 'mx' 'my' 'mz'
array([[[[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], ..., ... ..., [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]], [[0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.], [0., 0., 1.]]]])
array([ 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5])
array([0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])
array([0.5, 1.5, 2.5, 3.5, 4.5])
array(['mx', 'my', 'mz'], dtype='<U2')
4 different access methods (for the same point):
data[0, 0, 0]
<xarray.DataArray (vector: 3)> array([0., 0., 1.]) Coordinates: x float64 0.5 y float64 0.5 z float64 0.5 * vector (vector) <U2 'mx' 'my' 'mz'
array([0., 0., 1.])
array(0.5)
array(0.5)
array(0.5)
array(['mx', 'my', 'mz'], dtype='<U2')
data.loc[0.5, 0.5, 0.5]
<xarray.DataArray (vector: 3)> array([0., 0., 1.]) Coordinates: x float64 0.5 y float64 0.5 z float64 0.5 * vector (vector) <U2 'mx' 'my' 'mz'
array([0., 0., 1.])
array(0.5)
array(0.5)
array(0.5)
array(['mx', 'my', 'mz'], dtype='<U2')
data.isel(x=0, y=0, z=0)
<xarray.DataArray (vector: 3)> array([0., 0., 1.]) Coordinates: x float64 0.5 y float64 0.5 z float64 0.5 * vector (vector) <U2 'mx' 'my' 'mz'
array([0., 0., 1.])
array(0.5)
array(0.5)
array(0.5)
array(['mx', 'my', 'mz'], dtype='<U2')
data.sel(x=0.5, y=0.5, z=0.5, vector="mx") # .sel(vector='mx')
<xarray.DataArray ()> array(0.) Coordinates: x float64 0.5 y float64 0.5 z float64 0.5 vector <U2 'mx'
array(0.)
array(0.5)
array(0.5)
array(0.5)
array('mx', dtype='<U2')
Getting one vector component
data.sel(vector="mx")
<xarray.DataArray (x: 20, y: 10, z: 5)> array([[[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ... [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]]) Coordinates: * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5 * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 * z (z) float64 0.5 1.5 2.5 3.5 4.5 vector <U2 'mx'
array([[[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ... [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]])
array([ 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5])
array([0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])
array([0.5, 1.5, 2.5, 3.5, 4.5])
array('mx', dtype='<U2')
data["vector"]
<xarray.DataArray 'vector' (vector: 3)> array(['mx', 'my', 'mz'], dtype='<U2') Coordinates: * vector (vector) <U2 'mx' 'my' 'mz'
array(['mx', 'my', 'mz'], dtype='<U2')
array(['mx', 'my', 'mz'], dtype='<U2')
data.sel(z=0.5, vector="mz").plot()
<matplotlib.collections.QuadMesh at 0x7fb9db068eb0>
dataset = xr.Dataset(
{
"mx": (["x", "y", "z"], field0.array[..., 0]), # field0.x
"my": (["x", "y", "z"], field0.array[..., 1]),
"mz": (["x", "y", "z"], field0.array[..., 2]),
},
coords={
"x": x,
"y": y,
"z": z,
},
)
dataset
<xarray.Dataset> Dimensions: (x: 20, y: 10, z: 5) Coordinates: * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5 * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 * z (z) float64 0.5 1.5 2.5 3.5 4.5 Data variables: mx (x, y, z) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 my (x, y, z) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 mz (x, y, z) float64 1.0 1.0 1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0 1.0
array([ 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5])
array([0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])
array([0.5, 1.5, 2.5, 3.5, 4.5])
array([[[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ... [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]])
array([[[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ... [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]])
array([[[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.]], [[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], ... [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.]], [[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.]]])
dataset.loc[dict(x=0.5, y=0.5, z=0.5)]
<xarray.Dataset> Dimensions: () Coordinates: x float64 0.5 y float64 0.5 z float64 0.5 Data variables: mx float64 0.0 my float64 0.0 mz float64 1.0
array(0.5)
array(0.5)
array(0.5)
array(0.)
array(0.)
array(1.)
dataset[{"x": 0, "y": 0, "z": 0}]
<xarray.Dataset> Dimensions: () Coordinates: x float64 0.5 y float64 0.5 z float64 0.5 Data variables: mx float64 0.0 my float64 0.0 mz float64 1.0
array(0.5)
array(0.5)
array(0.5)
array(0.)
array(0.)
array(1.)
dataset.mx
<xarray.DataArray 'mx' (x: 20, y: 10, z: 5)> array([[[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ... [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]]) Coordinates: * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5 * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 * z (z) float64 0.5 1.5 2.5 3.5 4.5
array([[[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ... [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]])
array([ 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5])
array([0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])
array([0.5, 1.5, 2.5, 3.5, 4.5])
Access to the underlying numpy array
type(dataset.to_array().data)
numpy.ndarray
dataset.sel(x=0.5, y=0.5, z=0.5).to_array().data
array([0., 0., 1.])
dataset.mx.sel(z=0.5).plot()
<matplotlib.collections.QuadMesh at 0x7fb9db19bd30>
data = xr.DataArray(
np.stack([field0.array, field1.array, field2.array, field3.array, field4.array]),
dims=("t", "x", "y", "z", "vector"),
coords={"t": t, "x": x, "y": y, "z": z, "vector": ["mx", "my", "mz"]},
)
data
<xarray.DataArray (t: 5, x: 20, y: 10, z: 5, vector: 3)> array([[[[[0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ]], [[0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ]], [[0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ]], ..., ... ..., [[1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ]], [[1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ]], [[1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ]]]]]) Coordinates: * t (t) float64 0.0 1.0 2.0 3.0 4.0 * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5 * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 * z (z) float64 0.5 1.5 2.5 3.5 4.5 * vector (vector) <U2 'mx' 'my' 'mz'
array([[[[[0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ]], [[0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ]], [[0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ], [0. , 0. , 1. ]], ..., ... ..., [[1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ]], [[1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ]], [[1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ], [1. , 0. , 0. ]]]]])
array([0., 1., 2., 3., 4.])
array([ 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5])
array([0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])
array([0.5, 1.5, 2.5, 3.5, 4.5])
array(['mx', 'my', 'mz'], dtype='<U2')
dataset = xr.Dataset(
{
"mx": (
["t", "x", "y", "z"],
np.stack(
[
field0.array[..., 0],
field1.array[..., 0],
field2.array[..., 0],
field3.array[..., 0],
field4.array[..., 0],
]
),
),
"my": (
["t", "x", "y", "z"],
np.stack(
[
field0.array[..., 1],
field1.array[..., 1],
field2.array[..., 1],
field3.array[..., 1],
field4.array[..., 1],
]
),
),
"mz": (
["t", "x", "y", "z"],
np.stack(
[
field0.array[..., 2],
field1.array[..., 2],
field2.array[..., 2],
field3.array[..., 2],
field4.array[..., 2],
]
),
),
},
coords={
"t": t,
"x": x,
"y": y,
"z": z,
},
)
dataset
<xarray.Dataset> Dimensions: (t: 5, x: 20, y: 10, z: 5) Coordinates: * t (t) float64 0.0 1.0 2.0 3.0 4.0 * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5 * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 * z (z) float64 0.5 1.5 2.5 3.5 4.5 Data variables: mx (t, x, y, z) float64 0.0 0.0 0.0 0.0 0.0 ... 1.0 1.0 1.0 1.0 1.0 my (t, x, y, z) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 mz (t, x, y, z) float64 1.0 1.0 1.0 1.0 1.0 ... 0.0 0.0 0.0 0.0 0.0
array([0., 1., 2., 3., 4.])
array([ 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5])
array([0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])
array([0.5, 1.5, 2.5, 3.5, 4.5])
array([[[[0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], ..., [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ]], [[0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], ..., [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ]], [[0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], ..., ... ..., [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ]], [[1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], ..., [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ]], [[1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], ..., [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ]]]])
array([[[[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ..., ... ..., [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]], [[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], ..., [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]]])
array([[[[1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], ..., [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ]], [[1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], ..., [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ]], [[1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], [1. , 1. , 1. , 1. , 1. ], ..., ... ..., [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ]], [[0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], ..., [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ]], [[0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], ..., [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0. ]]]])