diff --git a/crpptbx/TCV/loadTCVdata.m b/crpptbx/TCV/loadTCVdata.m index 3f37051503d574a5cd1a81439e7400e6fa1afa9d..0d6b423258d54e711ad279a5dd33f5f6819b8fce 100644 --- a/crpptbx/TCV/loadTCVdata.m +++ b/crpptbx/TCV/loadTCVdata.m @@ -1,6 +1,7 @@ function [trace,error,varargout]=loadTCVdata(shot,data_type,varargin) % % Added option to load shot=-1 or >=100000 +% Added option shot=-9 to list keywords % % list of data_type currently available (when [_2,_3] is added, means can add _i to get Liuqe i): % if -1 is added, can also get it from FBTE with shot=-1, >=100000 or liuqe_version='_-1' (to get model file) @@ -271,6 +272,7 @@ TCVkeywrdall=[{'Ip'} {'B0'} {'zmag'} {'rmag'} {'rcont'} {'zcont'} {'vol'} {'rhov {'ne'} {'te'} {'nerho'} {'terho'} {'ne_edge'} {'te_edge'} {'nerho_edge'} {'terho_edge'} {'nerhozshift'} {'terhozshift'} {'profnerho'} {'profterho'} ... {'neft'} {'teft'} {'neftav'} {'teftav'} {'neft:trial'} {'teft:trial'} {'neftav:trial'} {'teftav:trial'} ... {'sxr'} {'sxR'} {'ece'} {'MPX'} {'IOH'} {'vloop'} {'pgyro'} {'jtor'} {'vi_tor'} {'vi_torfit'} {'vi_pol'} {'vi_polfit'} {'Ti'} {'Tifit'} {'ni'} {'nifit'} {'zeffcxrs'} {'zeffcxrsfit'}]; + TCVsig.iip=strmatch('Ip',TCVkeywrdall,'exact'); TCVsig.iB0=strmatch('B0',TCVkeywrdall,'exact'); TCVsig.izmag=strmatch('zmag',TCVkeywrdall,'exact'); @@ -400,6 +402,23 @@ TCVsiglocation(TCVsig.iteft_trial)=TCVsiglocation(TCVsig.iteft); TCVsigtimeindx( TCVsiglocation(TCVsig.ineftav_trial)=TCVsiglocation(TCVsig.ineftav); TCVsigtimeindx(TCVsig.ineftav_trial)=2; TCVsiglocation(TCVsig.iteftav_trial)=TCVsiglocation(TCVsig.iteftav); TCVsigtimeindx(TCVsig.iteftav_trial)=2; +if shot==-9 + clear trace + for i=1:length(TCVkeywrdall) + fieldname_eff = lower(TCVkeywrdall{i}); + keyword_eff = TCVkeywrdall{i}; + ij=findstr(fieldname_eff,':'); + if ~isempty(ij); + fieldname_eff(ij)='_'; + keyword_eff(ij:end+1)=[':i' keyword_eff(ij+1:end)] ; + end + trace.(fieldname_eff) = keyword_eff; + end + % add example for Ip trace full call + trace.ipfullcall = TCVsiglocation{TCVsig.iip}; + % trace.data=[]; + return +end % initialize order of substructures and allows just a "return" if data empty trace.data=[]; diff --git a/crpptbx/gdat.m b/crpptbx/gdat.m index 9e508598a9d348b8a4cafc4d4abe95b34243e0dd..893d2f7615fed4ea4e2542fcda8dab7ee2a3413c 100644 --- a/crpptbx/gdat.m +++ b/crpptbx/gdat.m @@ -2,9 +2,11 @@ function [trace,error,varargout] = gdat(shot,data_type,varargin) % % function [trace,error,varargout] = gdat(shot,data_type,varargin) % +% new: shot=-9 to get keywords relevant for the related experiment +% % list of data_type currently available: % -% All machines +% (almost) All machines % 'Ip' = current % 'zmag' = vertical position of the center of the plasma (magnetic axis) % 'rmag' = radial position of the center of the plasma @@ -96,6 +98,7 @@ function [trace,error,varargout] = gdat(shot,data_type,varargin) % [zmag,error]=gdat(shot,'zmag',1,'JET'); % idem but from JET % [zmag,error]=gdat(shot,'ppf','efit/zmag',1); as above for JET % +% keywordlist=gdat(-9,[],[],machine); % to get examples and the keywords defined for the relevant machine % gdatpaths @@ -143,7 +146,7 @@ end % PLOT DATA (if required) if doplot~=0; set_defaults_matlab; end -if doplot==1 & length(trace.data)>1 & ~ischar(trace.data) +if doplot==1 && isfield(trace,'data') && length(trace.data)>1 && ~ischar(trace.data) try figure;zoom on if length(size(trace.data))<=2