Skip to content
Snippets Groups Projects
Commit 8d53ea20 authored by Olivier Sauter's avatar Olivier Sauter
Browse files

to switch between RDA and mds

git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@1835 d63d8f72-b253-0410-a779-e742ad2e26cf
parent c9403a0c
No related branches found
No related tags found
No related merge requests found
function [data,time,x,hsig,error]=rda_eff(shot,pftype,tracename,varargin);
%
% gets data using RDA or mdsplus
%
% varargin{1}: time interval or timevalue, will get data closest to that time or within that time interval
%
usemds=1;
time_int=[];
if nargin>=4 & ~isempty(varargin{1})
time_int=varargin{1};
end
if usemds
if ~unix('test -d /home/duval/mdsplus')
addpath('/home/duval/mdsplus')
end
mdsconnect('mdsplus.jet.efda.org')
% defines trace to fetch
% after '?' specific details
separator='+';
mainseparator='?';
imaintrace=findstr(mainseparator,tracename);
if isempty(imaintrace)
maintrace=tracename;
uid=[];
seq=[];
diag=[];
else
maintrace=tracename(1:imaintrace-1);
rest=tracename(imaintrace+1:end);
% gets uid if any
iuid=findstr('uid=',rest);
if isempty(iuid)
uid=[];
else
ii=findstr(separator,rest(iuid:end));
if isempty(ii)
uid=rest(iuid+4:end);
else
uid=rest(iuid+4:iuid+ii(1)-2);
end
end
% gets seq if any
iseq=findstr('seq=',rest);
if isempty(iseq)
seq=[];
else
ii=findstr(separator,rest(iseq:end));
if isempty(ii)
seq=rest(iseq+4:end);
else
seq=rest(iseq+4:iseq+ii(1)-2);
end
end
% gets diag if any
idiag=findstr('diag=',rest);
if isempty(idiag)
diag=[];
else
ii=findstr(separator,rest(idiag:end));
if isempty(ii)
diag=rest(idiag+5:end);
else
diag=rest(idiag+5:idiag+ii(1)-2);
end
end
end
% fetch value
if ~isempty(uid)
eval(['u=mdsvalue(''_sig=ppfuid("' uid '")'');'])
end
traceeff=[pftype '/' maintrace];
if ~isempty(seq)
traceeff=[traceeff '/' num2str(seq)];
end
user=getenv('USER');
eval(['[data,error]=mdsvalue(''_rdaeff' user '=jet("' traceeff '",' num2str(shot) ')'');'])
hsig=[];
ss=size(data);
nbofdim=length(ss);
if ss(end)==1; nbofdim=nbofdim-1; end
nbofdim=max(nbofdim,1);
switch nbofdim
case 1
eval(['time=mdsvalue(''dim_of(_rdaeff' user ',0)'')']);
x=[];
case 2
eval(['x=mdsvalue(''dim_of(_rdaeff' user ',0)'')']);
eval(['time=mdsvalue(''dim_of(_rdaeff' user ',1)'')']);
case 3
eval(['x=mdsvalue(''dim_of(_rdaeff' user ',0)'')']);
eval(['time=mdsvalue(''dim_of(_rdaeff' user ',1)'')']);
disp('3rd dimension in hsig!!!!!!!!!!!!!!!!!!!!!!!!!')
eval(['hsig=mdsvalue(''dim_of(_rdaeff' user ',2)'')']);
otherwise
disp([' more than 3 dimensions for ' num2str(shot) ' ; ' pftype '/' tracename])
error('in rda_eff')
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment