Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
function [trace,error,varargout] = gdat(shot,data_type,varargin)
%
%
% INPUT:
% shot: shot number
% data_type: type of the required data. Ex.: 'Ip', 'zmag', 'rmag','sxr', 'ece',
% 'sxR', 'MPX'
% optional arguments, definition of some depend on value of data_type:
%
% optional arguments valid for all values of data_type:
%
% varargin{1}: 0 => no plot (default), 1 => plot
% varargin{2}: machine name 'JET', 'TCV' (default)
%
% Additional input arguments for specific traces
%
% data_type=sxr or ece:
% varargin{3}: channel status 1= unread yet, 0= read
% (for traces with many channel, enables to load additional channels,
% like SXR, ECE, etc.)
% varargin{4}: [i1 i2] : if not empty, assumes need many chords from i1 to i2
% varargin{5}: zmag for varargout{1} computation
%
% OUTPUT:
% trace.data: data structure
% trace.t: time of reference
% trace.x: space of reference
% error: error in loading signal (0=> OK, 1=> error)
%
% Additional Output arguments depending on data_type
%
% data_type=sxR:
% varargout{1}: intersection of the view lines with magnetic axis
% data_type=MPX: (specific to TCV)
% varargout{1}:
%
%
% functions needed: lTCVdata, lJETdata
%
% list of data_type currently available:
%
% All machines
% 'Ip' = current
% 'zmag' = vertical position of the center of the plasma (magnetic axis)
% 'rmag' = radial position of the center of the plasma
% 'ece' = electron cyclotron emission
% 'sxr' = soft x-ray emission
% 'sxR' = soft x-ray emission with varargout{1} option (requires varargin{5}!)
%
% TCV
% 'MPX' = wire chambers with varargout{1} option (requires varargin{5}!)
%
% Special case compatible with old gdat.m allows (JET related): gdat(51994,'ppf','efit/xip',1)
%
%
% Examples:
% [zmag,error]=gdat(shot,'zmag',1); % gets zmag from TCV and plot
% [zmag,error]=gdat(shot,'zmag',1,'JET'); % idem but from JET
% [zmag,error]=gdat(shot,'ppf','efit/zmag',1); as above for JET
%
%
nargineff=nargin;
if nargineff>=3 & ischar(varargin{1})
data_type={data_type ; varargin{1}};
if nargineff>=4;
varargin{1}=varargin{2};
else
varargin{1}=0;
nargineff=4;
end
varargin{2}='JET';
end
% SETTING MACHINE
doplot=0;
if (nargineff>=3 & ~isempty(varargin{1})); doplot=varargin{1}; end
machine='TCV';
if (nargineff>=4 & ~isempty(varargin{2})); machine=varargin{2}; end
status=ones(1,100);
if (nargineff>=5 & ~isempty(varargin{3})); status=varargin{3}; end
index=[];
if (nargineff>=6 & ~isempty(varargin{4})); index=varargin{4}; end
zmag=[];
if (nargineff>=7 & ~isempty(varargin{5})); zmag=varargin{5}; end
eval(['[trace,error,radius] = l' machine 'data(shot,data_type,status,index,zmag);']);
if (strcmp(data_type,'sxR') | strcmp(data_type,'ece')| strcmp(data_type,'MPX'))
varargout={radius};
end
% PLOT DATA (if required)
if doplot==1
figure;zoom on
plot(trace.t,trace.data);
xlabel('time [s]')
ylabel(data_type)
title([machine ' ' num2str(shot)])
grid
elseif doplot==-1
hold on
plot(trace.t,trace.data,'r');
end