You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

1.1.1. 06.2.1.2 "put" and "putSlice" functions

putputSlice
IMAS Python :: put
# coding: utf8
#system libraries
import sys
import numpy
import os

#UAL library
import imas
from imas.imasdef import *

# Gets user name and data (major) version
user = os.environ['USER']
imasVersion = os.environ['IMAS_VERSION'][:1]
database = 'test'

# Create a new instance of database
imas_obj = imas.ids(11, 22)
imas_obj.create_env(user, database, imasVersion)  # Create a new instance of database
 
ids = imas_obj.core_profiles

# Mandatory to define this property
ids.ids_properties.homogeneous_time = IDS_TIME_MODE_HOMOGENEOUS

# allocate the IDS structures
ids.global_quantities.ip.resize(10)
ids.time.resize(10)

# Filling fields with TIME-INDEPENDENT  data
ids.ids_properties.comment = 'IDS created by PUT'

# STORE VECTORS OF SIZE N
for i in range(10):
    # Setting values of time depended data
    ids.global_quantities.ip[i] = 2*i
    
    #Do not forget time!!
    ids.time[i] = i
    
#Save data in the database
ids.put() # <= Called outside the loop

#close the pulse file
imas_obj.close()
IMAS Python :: putSlice
#system libraries
import sys
import numpy
import os
 
# UAL library
import imas
from imas.imasdef import *
 
 # Gets user name and data (major) version
user = os.environ['USER']
imasVersion = os.environ['IMAS_VERSION'][:1]
database = 'test'

# Create a new instance of database
imas_obj = imas.ids(11, 22)
imas_obj.create_env(user, database, imasVersion)  # Create a new instance of database
 
ids = imas_obj.core_profiles
 
# Mandatory to define this property
ids.ids_properties.homogeneous_time = IDS_TIME_MODE_HOMOGENEOUS
 
# Filling fields with TIME-INDEPENDENT  data
ids.ids_properties.comment = 'IDS created by putSlice'
 
# Allocate all variables, time coordinate of size 1
time_1 = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]
vect1DDouble_1 = time_1

ids.time.resize(1)
ids.profiles_1d.resize(1)
ids.global_quantities.ip.resize(1)

# Setting values of time depended data
for i in range(len(time_1)):
    ids.global_quantities.ip[0] = 10*vect1DDouble_1[i]
    
    #Do not forget time!!
    ids.time[0] = time_1[i]
    
    # STORING  DATA 
    if i == 0:
        ids.put()
    else:
        #Append this slice in the database
        ids.putSlice()

#close the pulse file
imas_obj.close()

1.1.2. 06.2.1.2 "get" and "getSlice" functions

getgetSlice
IMAS Python :: get
#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()
IMAS Python :: getSlice
#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)


print 'Time : ' + str(ids.time)
print 'VALUE = ' + str(ids.x.y)

#close the pulse file
imas_obj.close()



  • No labels