-
Notifications
You must be signed in to change notification settings - Fork 321
Using XArray and dask in satpy
Martin Raspaud edited this page Mar 1, 2018
·
24 revisions
import xarray as xrXArray's DataArray is now the standard data structure for arrays in satpy. They allow the array to have define dimensions, coordinates, and attributes (that we use for the metadata).
To create such an array, you can do for example
my_dataarray = xr.DataArray(my_data, dims=['y', 'x'],
coords={'x': np.arange(...)},
attrs={'sensor': 'olci'})my_data can be a regular numpy array, a numpy memmap, or, if you want to keep things lazy, a dask array (more on dask later).
In satpy, the dimension of the arrays should include
-
xfor the x or pixel dimension -
yfor the y or line dimension -
bandsfor composites -
timecan also be provided, but we have limited support for it at the moment. Use metadata for common cases (start_time,end_time)
Dimensions are accessible through my_dataarray.dims. To get the size of a given dimension, use sizes:
my_dataarray.sizes['x']import dask.array as daHelpful functions:
map_blocksmap_overlapatopstoretokenize