Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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


 delete_data