...
putSlice() |
---|
Code Block |
---|
language | py |
---|
title | ITM |
---|
linenumbers | true |
---|
| #system libraries
import sys
from pylab import *
# UAL library
import ual
# Create a new instance of database
itm_obj = ual.itm(14,4)
itm_obj.create()
cpo = itm_obj.equilibrium
# Filling fields with TIME-INDEPENDENT data
cpo.codeparam.parameters = 'param'
#Save time independent fields
cpo.putNonTimed()
# ---- a loop ----
for i in range(0, 10):
#Fill time-dependent fields
Setting values of time depended data
cpo.x.y = iVALUE
#Do not forget time!!
cpo.time = iVALUE
#Append this slice in the database
cpo.putSlice() # <= Called inside the loop
# ---- a loop ----
#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
# Create a new instance of database
imas_obj = imas.ids(11, 22)
imas_obj.create() # Create a new instance of database
ids = imas_obj.core_profiles
# Mandatory to define this property
ids.ids_properties.homogeneous_time = 1
# Filling fields with TIME-INDEPENDENT data
ids.ids_properties.comment = 'Test IDS created by putSlice'
#Save time independent fields
ids.putNonTimed()
# 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[0] = iVAKUE
#Do not forget time!!
ids.time[0] = iVALUE
#Append this slice in the database
ids.putSlice() # <= Called inside the loop
# ---- a loop ----
#close the pulse file
imas_obj.close() |
|
...
put() |
---|
Code Block |
---|
language | py |
---|
title | ITM |
---|
linenumbers | true |
---|
| #system libraries
import sys
from pylab import *
#UAL library
import ual
# Create a new instance of database
itm_obj = ual.itm(13,3)
itm_obj.create()
cpoArray = itm_obj.equilibriumArray
# allocate the CPO structures
cpoArray.resize(10)
# Filling fields with TIME-INDEPENDENT data
cpoArray[0].codeparam.parameters = 'param'
# ---- a loop ----
for i in range(10):
#Fill# Setting values of time-dependent depended fieldsdata
cpoArray[i].x.y = i
#Do not forget time!!
cpoArray[i].time = i
# ---- a loop ----
#Save data in the database
cpoArray.put() # <= 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 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
# allocate the IDS structures
ids.x.y.resize(10)
ids.time.resize(10))
# Filling fields with TIME-INDEPENDENT data
ids.ids_properties.comment = 'A test IDS created by PUT'
# ---- a loop ----
for i in range(10):
# Setting #Fillvalues of time-dependent depended fieldsdata
ids.x.y[i] = i
#Do not forget time!!
ids.time[i] = i
# ---- a loop ----
#Save data in the database
ids.put() # <= Called outside the loop
#close the pulse file
imas_obj.close() |
|
![](http://scilla.man.poznan.pl:8080/confluence/images/icons/emoticons/information.gif) | 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. |
get() CPO vs get() 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()
cpoArray = itm_obj.pfsystemsArray
#Get data
cpoArray.get()
# SCALARS (!)
for i in range(len(cpoArray)):
print 'Time SCALAR =' + str(cpoArray[i].time)
print 'Value SCALAR =' + str(cpoArray[i].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.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() |
|
vi $TUTORIAL_DIR/ids_basics/python/put_ids.py
...
cd $TUTORIAL_DIR/ids_basics/fortran
Handling IDSes: get getSlice() vs. getSlice()CPO vs IDS |
---|
Code Block |
---|
title | $TUTORIAL_DIR/ids_basics/fortran/get_ids_array.f90ITM |
---|
linenumbers | true |
---|
| program diagnostic
use imas_schemas
use imas_routines
implicit none
integer :: idx, i, arraySize
type (type_equilibrium), pointer :: eqArray(:) ! <= Array !!!
call imas_open('IDS', 14, 4, idx)
call imas_get(idx, 'equilibrium', eqArray)
arraySize = size(eqArray)
write (*,*) "Number of slices: ", arraySize
do i=1, arraySize
write (*,*) "Time: ", eqArray(i)%time
write (*,*) "Value of r: ", eqArray(i)%eqgeometry%boundary(1)%r(1)
write (*,*) "Value of z: ", eqArray(i)%eqgeometry%boundary(1)%z(1)
enddo
call imas_close(idx)
end program |
| Code Block |
---|
title | $TUTORIAL_DIR/ids_basics/fortran/get_ids_slices.f90IMAS |
---|
linenumbers | true |
---|
| program diagnostic
use imas_schemas
use imas_routines
implicit none
integer :: idx, i, arraySize
type (type_equilibrium) :: equilibrium
real(IMAS_R8), pointer :: timeVector(:)
real(IMAS_R8) :: time
call imas_open('IDS', 14, 4, idx)
call imas_get_times(idx, 'equilibrium',timeVector)
arraySize = size(timeVector)
write (*,*) "Number of slices: ", arraySize
write (*,*) "Time vector: ", timeVector
do i = 1, arraySize
time = timeVector(i)
call imas_get_slice(idx, 'equilibrium', equilibrium, time, 1)
write (*,*) "Time [", time, "]: ", equilibrium%time
write (*,*) "Value of r: ", equilibrium%eqgeometry%boundary(1)%r(1)
write (*,*) "Value of z: ", equilibrium%eqgeometry%boundary(1)%z(1)
enddo
call imas_close(idx)
end program |
|
...