Load GHOST output files with xarray.
Project description
GHOST-xarray
GHOST-xarray provides helper functions to load output files from GHOST (the Geophysical High-Order Suite for Turbulence) into xarray labelled multidimensional arrays.
Installation
pip install ghost-xarray
Usage
GHOST-xarray provides 2 functions:
open_dataarray
, which opens a single variable,open_dataset
, which opens multiple variables.
open_dataarray
needs:
a directory, a variable name,
and its timestep dt
, shape and datatype:
import ghost_xarray
vx = ghost_xarray.open_dataarray(
"path/to/directory",
"vx",
dt=0.5,
shape=(128, 128, 128),
dtype=np.float32,
)
vx.isel(t=0, y=64).plot() # isel selects by index position
By default,
it generates the corresponding coordinates
from the shape
parameter
as np.linspace(0, 2 * np.pi, shape[i], endpoint=False)
.
But shape
can also be a dictionary of np.ndarray
with explicit coordinates:
vx = ghost_xarray.open_dataarray(
"path/to/directory",
"vx",
dt=0.5,
shape=dict(x=np.linspace(0, 10, 64), y=np.linspace(0, 100, 11)),
dtype=np.float32,
)
v_average = vx.isel(t=0).sel(y=50).mean(dim="x") # sel selects by coordinate
v_average.compute()
All operations are lazy,
until .compute()
or .plot()
are called.
Hence,
the above example only loads a single file to memory,
instead of actually loading data for all times.
For a vector-valued variable,
it adds an additional i
dimension,
corresponding to x, y[, z]
:
v = ghost_xarray.open_dataarray(
"path/to/directory",
name="v",
dt=0.5,
coords=(128, 128, 128),
dtype=np.float32,
)
v.isel(y=64).sel(t=1.5).plot(col="i") # makes three 2D imshows, one for each component.
Finally,
open_dataset
opens several variables
into a xarray.Dataset
,
which provides a dict-like interface.
data = ghost_xarray.open_dataset(
"path/to/directory/",
names=["v", "w"],
dt=0.5,
coords=(128, 128, 128),
dtype=np.float32,
)
h = (data.v * data.w).sum(dim="i") # computes the sum along components (dimension "i").
h.isel(t=slice(0, 4), x=64).plot(col="t") # plots the first 4 timepoints
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ghost-xarray-0.3.1.tar.gz
.
File metadata
- Download URL: ghost-xarray-0.3.1.tar.gz
- Upload date:
- Size: 193.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06b843dff86d58ede9e9a2d63299b86c2caea7785691f4334624d1f1d4639856 |
|
MD5 | 8834a5d8f0884056905b6e678219c1c3 |
|
BLAKE2b-256 | ea552c3b3c7be9f1f2d1810810229acbc69ed7fb7c36b4fff54e8f70e99e5628 |
File details
Details for the file ghost_xarray-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: ghost_xarray-0.3.1-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eecd20df5b4ed4fa8868bb0c901b41d6af17f62bdd61117809b6392b7471ce3 |
|
MD5 | 5e45da77628330c25e75290740ec0274 |
|
BLAKE2b-256 | a8b1702dfc3e2b4a71190df4d3e1750a6b19b8b3c8aebabb2831ffef6bf68e30 |