function [tvec, data, d] = golem_data(shot, diagn)
% Simple interface for GOLEM database
% Use: [tvec, data] = golem_data(10011, 'loop_voltage')
% plot(tvec, data)
% tvec - time vector Nx1
% data - data matrix NxM
% d - object containing all availible informations
%
% Example:
% [tvec,data,obj1] = golem_data(10689 , 'electron_temperature');
% [~,~,obj2] = golem_data(10689 , 'spectrometr\temperature');
% hold all
% plot(tvec,data) % or use object: plot(obj1.tvec, obj1.data)
% errorbar(obj2.tvec, obj2.data,obj2.data_err(:,1), obj2.data_err(:,2) )
% xlabel(obj2.ax_labels(1,:))
% ylabel(obj2.ax_labels(2,:))
% legend({obj1.name, obj2.name})
% axis([obj1.plasma_start, obj1.plasma_end, 0, inf])
% title(obj1.info)
% hold off
addr_prefix='http://golem.fjfi.cvut.cz/utils/data/';
temp = 'temp/';
if ~exist(temp, 'file')
mkdir(temp);
end
local_file = [temp, diagn, '_', int2str(shot), '.mat'];
remote_file = [addr_prefix, int2str(shot), '/',diagn, '.mat '];
if ~ exist(local_file, 'file')
urlwrite(remote_file, local_file);
end
try
d = load(local_file);
catch
error(['Missing diagnostic ', diagn, ' in shot ', num2str(shot)])
tvec = []; data=[]; d=[];
return
end
data = d.data;
if isfield(d, 'tvec')
tvec = d.tvec;
elseif isfield(d, 't_start')
tvec = linspace(d.t_start, d.t_end, length(data))';
else
tvec = [];
end
d.tvec = tvec;
end