Versions Compared

Key

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

...

 

 

 

VI related notice
I will use VI in every place where text files are modified. If you have any other text file editor of your choice - fell free to use it instead.
Handling IDSes: put() vs. putSlice()
Code Block
languagepy
title$TUTORIAL_DIR/ids_basics/python/put_ids_array.py
linenumberstrue
import sys
from pylab import * 
import ual

ids = ual.itm(13,3)
ids.create()

if not ids.isConnected():
    print 'error during itmdb entry creation'
    sys.exit(1)

ids.equilibriumArray.resize(10)
equi = ids.equilibriumArray

#First fill fields which are not time-dependent.
equi.array[0].datainfo.dataprovider = 'MKO'
equi.array[0].datainfo.putdate = '20/09/2016'
equi.array[0].codeparam.parameters = 'param'



# ---- a loop ----
for i in range(0, 10):
    #Fill time-dependent fields 
    equi.array[i].eqgeometry.boundary.resize(1)
    equi.array[i].eqgeometry.boundary[0].r = sin(arange(0,2*pi,2*pi/100)) + (1/float(100-i))
    equi.array[i].eqgeometry.boundary[0].z = cos(arange(0,2*pi,2*pi/100)) + (1/float(100-i))
    
	#Do not forget time!!
    equi.array[i].time = i
# ---- a loop ----

#Save data in the database
equi.put() # <= Called outside the loop

#close the pulse file
ids.close()
Code Block
languagepy
title$TUTORIAL_DIR/ids_basics/python/put_ids_slices.py
linenumberstrue
#system libraries
import sys
from pylab import *numpy

#UAL library
import ual

idsimas

#Open a database
imas_obj = ualimas.itmids(1411,4 22)
idsimas_obj.createopen()  

ifids not= ids.isConnected():
    print 'error during itmdb entry creation'
    sys.exit(1)

equi = ids.equilibrium


#First fill fields which are not time-dependent.
equi.datainfo.dataprovider = 'MKO'
equi.datainfo.putdate = '20/09/2016'
equi.codeparam.parameters = 'param'

#Save time independent fields
equi.putNonTimed()
# ---- a loop ----
for i in range(0, 10):
	#Fill time-dependent fields 
	equi.eqgeometry.boundary.resize(1)
    equi.eqgeometry.boundary[0].r = sin(arange(0,2*pi,2*pi/100)) + (1/float(100-i))
    equi.eqgeometry.boundary[0].z = cos(arange(0,2*pi,2*pi/100)) + (1/float(100-i))
    
    #Do not forget time!!
    equi.time = i 
    
    #Append this slice in the database
    equi.putSlice() # <= Called inside the loop
# ---- a loop ----
imas_obj.core_profiles

#Get data
ids.get()

print 'Ip = ' + str(ids.global_quantities.ip)

#close the pulse file
idsimas_obj.close()

 

vi $TUTORIAL_DIR/ids_basics/python/put_ids.py

...