From 583d09f5160dcbf0abf9c9d5b2a93b12ff2f4168 Mon Sep 17 00:00:00 2001 From: Olivier Sauter <Olivier.Sauter@epfl.ch> Date: Fri, 16 Apr 2021 15:56:06 +0200 Subject: [PATCH] fix multiple lines in gdat_plot displayname, add origin of gas_valve data --- matlab/TCV/gdat_tcv.m | 16 ++++++++++------ matlab/gdat_plot.m | 16 ++++++++++------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m index afc34429..36d0e069 100644 --- a/matlab/TCV/gdat_tcv.m +++ b/matlab/TCV/gdat_tcv.m @@ -1310,14 +1310,17 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.data = gdat_data.gas_flux.data; gdat_data.units = gdat_data.gas_flux.units; gdat_data.t = gdat_data.gas_flux.t; + gdat_data.data_fullpath = gdat_data.gas_flux.data_fullpath; case {'gas_request'} gdat_data.data = gdat_data.gas_request_volt.data; gdat_data.units = gdat_data.gas_request_volt.units; gdat_data.t = gdat_data.gas_request_volt.t; + gdat_data.data_fullpath = gdat_data.gas_request.data_fullpath; case {'gas_feedforward'} gdat_data.data = gdat_data.gas_feedforward_volt.data; gdat_data.units = gdat_data.gas_feedforward_volt.units; gdat_data.t = gdat_data.gas_feedforward_volt.t; + gdat_data.data_fullpath = gdat_data.gas_feedforward.data_fullpath; case {'gas_valve'} if ~isfield(params_eff,'source') || isempty(params_eff.source) params_eff.source = {{1,'D2'}, {3,'N2'}}; @@ -1335,15 +1338,16 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') if ~strcmp(gdat_data.gas_valve(i).gas_type(end),'2'); gdat_data.gas_valve(i).units = 'atoms/s'; end gdat_data.data(:,i) = gdat_data.gas_valve(i).data; gdat_data.t = gdat_data.gas_valve(i).t; - gdat_data.dim{1}(i) = gdat_data.gas_valve(i).valve_nb; + gdat_data.dim{2}(i) = gdat_data.gas_valve(i).valve_nb; gdat_data.units{i} = gdat_data.gas_valve(i).units; gdat_data.label = [gdat_data.label ',' gdat_data.gas_valve(i).gas_type]; if i==1 - gdat_data.dim{2} = gdat_data.t; - gdat_data.dimunits{1} = 'valve nb'; - gdat_data.dimunits{2} = 's'; - gdat_data.mapping_for.tcv.gdat_timedim = 2; - gdat_data.mapping_for.tcv.timedim = 2; + gdat_data.dim{1} = gdat_data.t; + gdat_data.dimunits{1} = 's'; + gdat_data.dimunits{2} = 'valve nb'; + gdat_data.mapping_for.tcv.gdat_timedim = 1; + gdat_data.mapping_for.tcv.timedim = 1; + gdat_data.data_fullpath = 'using get_gas_flux(shot,''gdat_params.source{1}'',''gdat_params.source{2}'')'; end catch ME gdat_data.gas_valve(i).t = []; diff --git a/matlab/gdat_plot.m b/matlab/gdat_plot.m index 91712773..5c378833 100644 --- a/matlab/gdat_plot.m +++ b/matlab/gdat_plot.m @@ -58,17 +58,17 @@ if all(isfield(gdat_data,{'data','t'})) && ~isempty(gdat_data.data) && ~isempty( if iscell(gdat_data.eqdsk); endstr = '{1}'; end eval(['contour(gdat_data.eqdsk' endstr '.rmesh,gdat_data.eqdsk' endstr '.zmesh,gdat_data.eqdsk' endstr '.psi'',100);']) hold on - eval(['linehandles(end+1) = plot(gdat_data.eqdsk' endstr '.rplas,gdat_data.eqdsk' endstr '.zplas,''k'');']) - eval(['linehandles(end+1) = plot(gdat_data.eqdsk' endstr '.rlim,gdat_data.eqdsk' endstr '.zlim,''k'');']) + eval(['linehandles{end+1} = plot(gdat_data.eqdsk' endstr '.rplas,gdat_data.eqdsk' endstr '.zplas,''k'');']) + eval(['linehandles{end+1} = plot(gdat_data.eqdsk' endstr '.rlim,gdat_data.eqdsk' endstr '.zlim,''k'');']) axis equal; title(eval(['gdat_data.eqdsk' endstr '.stitle'])); elseif any(find(size(gdat_data.data)==length(gdat_data.t))) try if length(size(gdat_data.data))<=2 if isnumeric(gdat_data.t) - linehandles(end+1) = plot(gdat_data.t,gdat_data.data); + linehandles{end+1} = plot(gdat_data.t,gdat_data.data); elseif iscell(gdat_data.t) - linehandles(end+1) = plot(str2num(cell2mat(gdat_data.t)),gdat_data.data); + linehandles{end+1} = plot(str2num(cell2mat(gdat_data.t)),gdat_data.data); end else disp('WARNING') @@ -123,10 +123,14 @@ if all(isfield(gdat_data,{'data','t'})) && ~isempty(gdat_data.data) && ~isempty( end zoom on; end + maxnblines = 1; for i=1:numel(linehandles) - set(linehandles(i),'DisplayName',num2str(gdat_data.shot)); + maxnblines = max(maxnblines,numel(linehandles{i})); + for j=1:numel(linehandles{i}) + set(linehandles{i}(j),'DisplayName',[num2str(gdat_data.shot) ',' num2str(j)]); + end end - legend show + if maxnblines==1; legend show; end if strcmp(gdat_data.gdat_request,'mhd') % special case, add legend instead of ylabel delete(hylabel); -- GitLab