...
A Data Entry is an IMAS concept for designating a pulse with given shot and run numbers located in some database (see below).
The methods exposed by HLIs are:
- Operations on data base entry:
- CREATE
- OPEN
- CLOSE
- Operations on IDSs:
- PUT
- GET
- PUT_SLICE
- GET_SLICE
- DELETE
In this tutorial, we will describe each method of the HLI API (section 1.1. HLI API).
...
The pulse file is opened, however no data have been yet fetched from the pulse file.
put put/close
IDSs are data containers described by the IMAS Data Dictionary. IDSs represent either a Diagnostics (like the 'bolometer' IDS), or a System (like the 'camera_ir'), or a concept like the 'equilibrium' IDS representing the plasma equilibrium.
...
Let'read the 'magnetics' IDS previously created in put/closein 1.1.3.
Code Block |
---|
import imas import getpass import numpy as np from imas import imasdef #opens the Data Entry object 'data_entry' associated to the pulse file with shot=15000, run=1, belonging to database 'data_access_tutorial' of the current user, using the MDS+ backend data_entry = imas.DBEntry(imasdef.MDSPLUS_BACKEND, 'data_access_tutorial, 15000, 1, user_name=getpass.getuser()) #opens the pulse file associated to the Data Entry object 'data_entry' previously created data_entry.open() magnetics_ids = imas.magnetics() #creating a #reads the 'magnetics' IDS magnetics_ids.ids_properties.homogeneous_time=1 #setting from the homogeneous time (mandatory) magnetics_ids.ids_properties.comment='IDS created for testing the IMAS Data Access layer' magnetics_ids.time=np.array([0]) #the time(vector) basis must be not empty if homogeneous_time==1 otherwise an error will occur at runtime data_entry object previously opened data_entry.putget('magnetics_ids', 0) #writing magnetics data to the data_entry associated to the pulse file. The #The second argument 0 is the so-called IDS occurrence. #close the pulse file associated to the 'data_entry' object data_entry.close() #print some IDS attributes print('homogeneous_time = ', magnetics_ids.ids_properties.homogeneous_time) print('comment = ', magnetics_ids.ids_properties.comment) |
Code Block |
---|
$ python get.py
homogeneous_time = 1
comment = IDS created for testing the IMAS Data Access layer |