Getting Started
Basic Usage
xamr provides an xarray-like interface for AMReX simulation data. The main entry point is the AMReXDataset class:
import xamr
# Load a single plotfile
ds = xamr.AMReXDataset("plt00000")
# Access field data
temperature = ds['temperature']
velocity_x = ds['x_velocity']
# Get basic information
print(ds.attrs)
print(temperature.shape)
Dataset Structure
An AMReX dataset contains:
Data variables: Physical fields like temperature, velocity, pressure
Coordinates: Spatial coordinates (x, y, z) and time (for time series)
Attributes: Metadata like domain dimensions, AMR levels, parameters
# List available fields
print(list(ds.data_vars.keys()))
# Check coordinate information
print(ds.coords)
print(ds.dims)
# Access dataset attributes
print(f"Max AMR level: {ds.attrs['max_level']}")
print(f"Domain dimensions: {ds.attrs['domain_dimensions']}")
Working with Fields
Fields are accessed as AMReXDataArray objects:
temp = ds['temperature']
# Get field statistics
print(f"Min: {temp.min()}")
print(f"Max: {temp.max()}")
print(f"Mean: {temp.mean()}")
# Get numpy array at coarsest level
temp_array = temp.values()
AMR Levels
xamr works primarily at the coarsest refinement level (level 0) for indexing, but you can access higher levels:
# Default: coarsest level (level 0)
temp_coarse = temp.values()
# Higher refinement level
temp_fine = temp.values(level=2)
# Check available levels
print(f"Available levels: {ds.levels}")