Skip to content

Imas2xarray is a python library for reading and writing IMAS data in hdf5 format using xarray

License

Notifications You must be signed in to change notification settings

duqtools/imas2xarray

Repository files navigation

Documentation Status Tests PyPI - Python Version PyPI Coverage DOI

imas2xarray banner

imas2xarray

Imas2xarray is a library that makes it as simple and intuitive as possible to read and write IMAS data in HDF5 format with Python. There is no need to manually define the paths or fiddle with the different dimensions and long keys.

Reading

>>> from imas2xarray import to_xarray
>>>
>>> path = '/pfs/work/g2aho/public/imasdb/test/3/92436/1/'
>>> ids = 'equilibrium'
>>>
>>> ds = to_xarray(path, ids)
>>> ds
<xarray.Dataset>
Dimensions:         (time: 1, rho_tor_norm: 101, ion: 4)
Coordinates:
  * time            (time) float64 50.04
  * rho_tor_norm    (rho_tor_norm) float64 0.0 0.01 0.02 0.03 ... 0.98 0.99 1.0
Dimensions without coordinates: ion
Data variables: (12/14)
    q               (time, rho_tor_norm) float64 0.7887 0.7888 ... 4.262 4.845
    collisionality  (time, rho_tor_norm) float64 23.23 7.554 ... 7.31 10.19
    t_i_ave         (time, rho_tor_norm) float64 1.036e+04 1.036e+04 ... 508.4
    ...              ...
    n_e             (time, rho_tor_norm) float64 7.976e+19 ... 1.742e+19
    p_i             (time, ion, rho_tor_norm) float64 1.242e+05 ... 0.2948
    n_e_tot         (time, rho_tor_norm) float64 7.976e+19 ... 1.742e+19

Writing

>>> from imas2xarray import to_imas
>>>
>>> ds['t_e'] *= 1.1
>>>
>>> to_imas(
>>>     path,
>>>     dataset=ds,
>>>     ids=ids
>>> )

For more advanced use-cases and examples, please see the documentation.

Installing imas2xarray

To install:

pip install imas2xarray

Imas2xarray is supported on Python versions 3.9 or newer.

Development

Check out our Contributing Guidelines to get started with development.

Suggestions, improvements, and edits are most welcome.