'''Module for loading data.
Control room: http://golem.fjfi.cvut.cz/roperation/tasks/STUDENTS/0316KaterinaJirakova/Level_I/index.php'''
import numpy as np
from urllib.request import urlopen
#plasma_start
#plasma_end
def get_data(name, shot):
'''Return time axis in ms and data of diagnostic name in shot.
Rake probe data are automatically converted to volts.
'''
url = 'http://golem.fjfi.cvut.cz/utils/data/%i/%s' % (shot, name)
try:
f = urlopen(url)
all_data = np.loadtxt(f)
except:
print('%i %s: no signal' % (shot, name))
return np.array([]), np.array([])
time_axis = np.array([row[0] for row in all_data])
data = np.array([row[1] for row in all_data])
if name[:13] == 'double_rakepr':
data *= 100
f.close()
return time_axis*1000, data
def get_generic(name, shot):
'''Return a scalar value of diagnostic name in shot.'''
url = 'http://golem.fjfi.cvut.cz/utils/data/%i/%s' % (shot, name)
f = urlopen(url)
data = np.loadtxt(f)
f.close()
return data
def shot_time(shot):
'''Return edges of time of shot in ms.'''
t1 = float(get_generic('plasma_start', shot))*1000
t2 = float(get_generic('plasma_end', shot))*1000
return t1, t2