A comprehensive Python toolset for working with IMAS (Integrated Modelling and Analysis Suite) Interface Data Structures (IDS) in fusion research.
IDStools provides a collection of command-line utilities and Python libraries for:
- Database Operations: List, copy, compare, and manipulate IDS data entries
- Data Analysis: Extract, validate, and analyze fusion plasma data
- Visualization: Plot equilibrium, profiles, and other physics quantities
- Format Conversion: Convert GEQDSK files to IDS equilibrium format
idslist- List available IDSs and their time slicesidscp- Copy IDSs between data entriesidsdiff- Compare IDSs and highlight differencesidsperf- Profile IDS access performancedblist- List database entries and pulses
eqdsk2ids- Convert GEQDSK equilibrium files to IDS formatidsprint- Print IDS data values and structuresidsresample- Resample IDS data in timeplotequilibrium- Plot equilibrium dataplotkineticprofiles- Visualize kinetic profiles
- Built-in COCOS (Coordinate Conventions) validation
- IDS structure and physics consistency checks
- Data quality assessment tools
pip install imas-idstoolsgit clone https://github.com/iter-organization/IDStools.git
cd IDStools
pip install .idslist --uri "imas:mdsplus?user=public;pulse=134174;run=117;database=ITER;version=3"plotequilibrium --uri "imas:mdsplus?user=public;pulse=134174;run=117;database=ITER;version=3"- Python ≥ 3.8
- IMAS Python Access Layer (
imas-python) - NumPy, Matplotlib, Pandas
- Rich (for enhanced terminal output)
Full documentation is available at the project repository. Each tool includes built-in help:
<tool-name> --helpWe welcome contributions from the fusion community! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the terms specified in LICENSE.md.
For questions and support, contact: imas-support@iter.org