3.1.1 Changes
CHEAT SHEET |
ITM | IMAS |
---|
import ual | import imas |
ual.itm(shot, run) | imas.ids(shot, run) |
cpoArray = itm_obj.<ids_name>Array
| ids = imas_obj.<ids_name> |
cpoArray.put() | ids.put() |
Info |
---|
In this tutorial - how can you integrate your code with UAL
- how can you access data via UAL
|
Accessing data from UAL requires some modification to your code. In this part of tutorial, we will take a closer look on how to access IDS via UAL.
...
Warning
Stop here for a moment. Make sure you have followed the configuration setup before proceeding any further!
...
3.1.
...
2 Method "
...
put"
putSlice put() |
---|
Code Block |
---|
language | py |
---|
title | ITM |
---|
linenumbers | true |
---|
| #system libraries
import sys
from pylab import *
##UAL UAL library
import ual
# Create a new instance of database
itm_obj = ual.itm(1413,43)
itm_obj.create()
cpo
cpoArray = itm_obj.equilibrium
equilibriumArray
# allocate the CPO structures
cpoArray.resize(10)
# Filling fields with TIME-INDEPENDENT data
cpocpoArray[0].codeparam.parameters = 'param'
#Save time independent fields
cpo.putNonTimed()
# SCALARS(!)
# ---- a loop ----
for i in range(10):
# Setting values of time depended data
cpo
cpoArray[i].x.y = VALUEi
#Do not forget time!!
cpo cpoArray[i].time = VALUE i
# ---- a loop
#Append this slice ----
#Save data in the database
cpocpoArray.putSliceput() # <= Called outside the loop
#close the pulse file
itm_obj.close() |
| Code Block |
---|
language | py |
---|
title | IMAS |
---|
linenumbers | true |
---|
| #system libraries
import sys
import numpy
# UAL#UAL library
import imas
# Create a new instance of database
imas_obj = imas.ids(11, 22)
imas_obj.create()
# Mandatory to define this property
ids.ids_properties.homogeneous_time = 0
ids = imas_obj.core_profiles
# Mandatoryallocate tothe defineIDS this propertystructures
ids.x.y.resize(10)
ids_properties.homogeneous_time = 1time.resize(10))
# Filling fields with TIME-INDEPENDENT data
ids.ids_properties.comment = 'Test IDS created by putSlicePUT'
#Save# timeSTORE independent fields
ids.putNonTimed()
AS SCALARS(!)
# Allocate all variables, time coordinate of size 1
ids.time.resize(1)
ids.x.y.resize(1)
---- a loop ----
for i in range(10):
# Setting values of time depended data
ids.x.y[0i] = VAKUEi
#Do not forget time!!
ids.time[0i] = VALUE
#Append this slice i
# ---- a loop ----
# OR STORE AS VECTORS
ids.x.y = valueVector
ids.time = timeVector
#Save data in the database
ids.putSliceput() # <= Called outside the loop
#close the pulse file
imas_obj.close() |
|
...
3.1.
...
3 Method "
...
putSlice"
putSlice put() |
---|
Code Block |
---|
language | py |
---|
title | ITM |
---|
linenumbers | true |
---|
| #system libraries
import sys
from pylab import *
#UAL# UAL library
import ual
# Create a new instance of database
itm_obj = ual.itm(1314,34)
itm_obj.create()
cpoArraycpo = itm_obj.equilibriumArray
# allocate the CPO structures
cpoArray.resize(10)equilibrium
# Filling fields with TIME-INDEPENDENT data
cpoArray[0]cpo.codeparam.parameters = 'param'
# SCALARS(!)
# ---- a loop ----
for i in range(10):
#Save time independent fields
cpo.putNonTimed()
# Setting values of time depended data
cpoArray[i]
cpo.x.y = iVALUE
#Do not forget time!!
cpoArray[i]cpo.time = VALUE i
# ---- a loop ----
#Save data
#Append this slice in the database
cpoArraycpo.putputSlice() # <= Called outside the loop
#close the pulse file
itm_obj.close() |
| Code Block |
---|
language | py |
---|
title | IMAS |
---|
linenumbers | true |
---|
| #system libraries
import sys
import numpy
#UAL# UAL library
import imas
# Create a new instance of database
imas_obj = imas.ids(11, 22)
imas_obj.create()
# Mandatory to define this property
ids.ids_properties.homogeneous_time = 0
ids = imas_obj.core_profiles
# Mandatory allocateto thedefine IDSthis structuresproperty
ids.x.y.resize(10)
ids_properties.time.resize(10))homogeneous_time = 1
# Filling fields with TIME-INDEPENDENT data
ids.ids_properties.comment = 'A test IDS created by PUTputSlice'
##Save STOREtime AS SCALARS(!independent fields
ids.putNonTimed()
# ---- a loop ----
for i in range(10):
Allocate all variables, time coordinate of size 1
ids.time.resize(1)
ids.x.y.resize(1)
# Setting values of time depended data
ids.x.y[i0] = iVAKUE
#Do not forget time!!
ids.time[i0] = i
# ---- a loop ----
# OR STORE AS VECTORS
ids.x.y = valueVector
ids.time = timeVector
#Save data VALUE
#Append this slice in the database
ids.putputSlice() # <= Called outside the loop
#close the pulse file
imas_obj.close() |
|
3.1.
...
4 Method "get"
get() CPO vs IDS |
---|
Code Block |
---|
language | py |
---|
title | ITM |
---|
linenumbers | true |
---|
| #system libraries
import numpy
import sys
#UAL library
import ual
#Open the database
itm_obj = ual.itm(123,3,123,0)
itm_obj.open()
cpoArray = itm_obj.pfsystemsArray
#Get data
cpoArray.get()
# SCALARS (!)
for i in range(len(cpoArray)):
print "Time = " + str(cpoArray[i].time)
print "Value = "+ str(cpoArray[i].x.y)
#close the pulse file
imas_obj.close() |
| Code Block |
---|
language | py |
---|
title | IMAS |
---|
linenumbers | true |
---|
| #system libraries
import sys
import numpy
#UAL library
import imas
#Open a database
imas_obj = imas.ids(11, 22)
imas_obj.open()
ids = imas_obj.core_profiles
#Get data
ids.get()
# SCALARS (!)
for i in range(len(ids.time)):
print 'Time =' + str(ids.time[i])
print 'Value =' + str(ids.x.y[i])
# VECTORS (!)
print 'Time = ' + str(ids.time)
print 'Value = ' + str(ids.x.y)
#close the pulse file
imas_obj.close() |
|
3.1.
...
5 Method "getSlice"
...
getSlice() CPO vs IDS |
---|
Code Block |
---|
language | py |
---|
title | ITM |
---|
linenumbers | true |
---|
| #system libraries
import sys
import numpy
#UAL library
import ual
#Open the database
itm_obj = ual.itm(11,22)
itm_obj.open()
cpo = my_itm_obj.pfsystems
#Get data
cpo.getSlice(2, 1)
#SCALARS
print 'Time : ' + str(cpo.time)
print 'VALUE = ' + str(ids.x.y)
#close the pulse file
itm_obj.close() |
| Code Block |
---|
language | py |
---|
title | IMAS |
---|
linenumbers | true |
---|
| #system libraries
import sys
import numpy
#UAL library
import imas
#Open a database
imas_obj = imas.ids(11,22)
imas_obj.open()
ids = imas_obj.core_profiles
#Get data
ids.getSlice(2, 1)
#SCALARS
print 'Time : ' + str(ids.time)
print 'VALUE = ' + str(ids.x.y)
#close the pulse file
imas_obj.close() |
|
...