1. IMAS Primer
1.1. What is IMAS?
1.2. IMAS Data Model & IDS (Frederic) - 20.09
1.2.1. IDS and time: homogenous, heterogenous, independent
1.2.2. occurences
1.2.3. slices
1.3. Database entries
1.3.1. MDSPlus pulse files
2. IMAS Access Layer - 20.09
2.1. Access Layer architecture (Bartek)
2.2. High Level Interfaces and their API (Application Programming Interface)
There are currently 5 High Level Interfaces (HLIs) available from the following programming languages:
- Fortran
- C++
- Java
- Python
- Matlab
Only Python and Matlab provide user interactive session for accessing IMAS data.
The HLI API covers all available Access Layer features:
- creating a so-called new IMAS Data Entry
- opening an existing IMAS Data Entry
- writing data from an IDS to a Data Entry
- reading data of an IDS from an existing Data Entry
- deleting an IDS from an existing Data Entry
- closing a Data Entry
A Data Entry is an IMAS concept for designating a pulse with given shot and run numbers located in some database (see below).
2.2.1. HLI API
As an example, we will describe the Python HLI.
Documentation of all others HLIs is available in the User guide: https://confluence.iter.org/display/IMP/Integrated+Modelling+Home+Page (Data Model and Access Layer User Guide)
2.2.1.1. open/create
import imas from imas import imasdef #creates the Data Entry object 'data_entry' from the pulse file with shot=54178, run=0 belonging to database 'pcss_tutorial' of user 'g2lfleur' data_entry = imas.DBEntry(imasdef.MDSPLUS_BACKEND, 'pcss_tutorial, 54178, 0, user_name=’g2lfleur’) #opens the Data Entry object 'data_entry' previously created imas_entry.open()