From 8d34e8705eeea17154812a8276846d25f094293b Mon Sep 17 00:00:00 2001 From: Olivier Sauter <olivier.sauter@epfl.ch> Date: Mon, 24 Aug 2015 12:07:32 +0000 Subject: [PATCH] added some new data_request for tcv git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@4908 d63d8f72-b253-0410-a779-e742ad2e26cf --- crpptbx_new/TCV/gdat_tcv.m | 110 ++++++++++++++++++++--- crpptbx_new/TCV/tcv_requests_mapping.m | 35 +++++--- crpptbx_new/gdat_data_request_names.xlsx | Bin 11749 -> 11911 bytes crpptbx_new/gdat_plot.m | 26 +++++- 4 files changed, 145 insertions(+), 26 deletions(-) diff --git a/crpptbx_new/TCV/gdat_tcv.m b/crpptbx_new/TCV/gdat_tcv.m index 44155bf3..7740a261 100644 --- a/crpptbx_new/TCV/gdat_tcv.m +++ b/crpptbx_new/TCV/gdat_tcv.m @@ -65,6 +65,7 @@ default_machine = 'tcv'; gdat_params.machine=default_machine; gdat_params.doplot = 0; +gdat_params.liuqe = 1; % construct list of keywords from global set of keywords and specific TCV set % get data_request names from centralized function @@ -226,6 +227,15 @@ shot = gdat_data.shot; data_request_eff = gdat_data.gdat_params.data_request; error_status = 6; % at least reached this level +liuqe_version = 1; +if isfield(gdat_data.gdat_params,'liuqe') && ~isempty(gdat_data.gdat_params.liuqe) + liuqe_version = gdat_data.gdat_params.liuqe; +end +substr_liuqe = ''; +if liuqe_version==2 || liuqe_version==3 + substr_liuqe = ['_' num2str(liuqe_version)]; +end + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Specifications on how to get the data provided in tcv_requests_mapping @@ -243,26 +253,32 @@ if do_mdsopen_mdsclose end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% 1st treat the simplest method: "tdi" -if strcmp(mapping_for_tcv.method,'tdi') +% 1st treat the simplest method: "tdi" (and tdiliuqe) +if strcmp(mapping_for_tcv.method(1:3),'tdi') % need to treat liuqe2, model, etc from options.... + substr_tdi = ''; + if strcmp(mapping_for_tcv.method,'tdiliuqe'); substr_tdi = substr_liuqe; end if iscell(mapping_for_tcv.expression) if length(mapping_for_tcv.expression)>0 % series of arguments for tdi given in each cell - eval_expr = ['aatmp=tdi(''' mapping_for_tcv.expression{1} '''']; + eval_expr = ['tdi(''' mapping_for_tcv.expression{1} substr_tdi '''']; for i=2:length(mapping_for_tcv.expression) eval_expr = [eval_expr ',''' mapping_for_tcv.expression{i} '''']; end eval_expr = [eval_expr ');']; - eval(eval_expr); + aatmp = eval(eval_expr); else % empty or wrong expression error_status=701; return end else - eval_expr = ['aatmp=tdi(''' mapping_for_tcv.expression ''');']; - eval(eval_expr); + eval_expr = ['tdi(''' mapping_for_tcv.expression substr_tdi ''');']; + aatmp=eval(eval_expr); + end + if isempty(aatmp.data) || isempty(aatmp.dim) % || ischar(aatmp.data) (to add?) + warning(['problems loading data for ' eval_expr ' for data_request= ' data_request_eff]) + return end gdat_data.data = aatmp.data; gdat_data.dim = aatmp.dim; @@ -305,7 +321,8 @@ if strcmp(mapping_for_tcv.method,'tdi') gdat_data.dim = aatmp.dim(inew); gdat_data.dimunits = aatmp.dimunits(inew); end - gdat_data.data_fullpath=mapping_for_tcv.expression; + gdat_data.data_fullpath=[mapping_for_tcv.expression substr_tdi]; + % end of method "tdi" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -313,10 +330,10 @@ elseif strcmp(mapping_for_tcv.method,'function') % 2nd: method="function" % assume expression contains function to call and which returns a structure % we copy the structure, to make sure default nodes are defined and to avoid if return is an closed object like tdi - eval_expr = ['aatmp=' mapping_for_tcv.expression ';']; - eval(eval_expr); + % eval_expr = ['aatmp=' mapping_for_tcv.expression ';']; + aatmp = eval(mapping_for_tcv.expression); if isempty(aatmp) || (~isstruct(aatmp) & ~isobject(aatmp)) - warning(['function expression does not return a structure: ' eval_expr]) + warning(['function expression does not return a structure: ' mapping_for_tcv.expression]) error_status=801; return end @@ -359,6 +376,78 @@ elseif strcmp(mapping_for_tcv.method,'function') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% elseif strcmp(mapping_for_tcv.method,'switchcase') switch data_request_eff % not lower(...) since data_request_eff should be lower case already at this stage + % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % First the request names valid for "all" machines: + % + case {'a_minor'} + nodenameeff=['\results::r_max_psi' substr_liuqe]; + rmaxpsi=tdi(nodenameeff); + nodenameeff2=['\results::r_min_psi' substr_liuqe]; + rminpsi=tdi(nodenameeff2); + ij=find(rmaxpsi.data<0.5 | rmaxpsi.data>1.2); + if ~isempty(ij); rmaxpsi.data(ij)=NaN; end + ij=find(rminpsi.data<0.5 | rminpsi.data>1.2); + if ~isempty(ij); rminpsi.data(ij)=NaN; end + gdat_data.data=0.5.*(rmaxpsi.data(end,:) - rminpsi.data(end,:)); + gdat_data.data_fullpath=[nodenameeff ' - ' nodenameeff2 ' /2']; + gdat_data.dim = rmaxpsi.dim(2); + gdat_data.t = gdat_data.dim{1}; + if any(strcmp(fieldnames(rmaxpsi),'units')) + gdat_data.units = rmaxpsi.units; + end + gdat_data.dimunits = rmaxpsi.dimunits(2); + + case {'b0'} + % B0 at R0=0.88 + R0EXP=0.88; + if liuqe_version==-1 + mdsopen( 'pcs', shot); %synthetic shot generated with FBT and MGAMS. + nodenameeff = 'tcv_eq("BZERO","FBTE")'; + tracetdi=tdi(nodenameeff); + gdat_data.data = tracetdi.data; + else + nodenameeff=['\magnetics::iphi']; + tracetdi=tdi(nodenameeff); + gdat_data.data=192.E-07 * 0.996 *tracetdi.data/R0EXP; + end + gdat_data.data_fullpath=[nodenameeff]; + gdat_data.dim = tracetdi.dim; + gdat_data.t = gdat_data.dim{1}; + if any(strcmp(fieldnames(tracetdi),'units')) + gdat_data.units = tracetdi.units; + end + gdat_data.dimunits = tracetdi.dimunits; + gdat_data.request_description = ['vacuum magnetic field at R0=' num2str(R0EXP) 'm']; + + case {'betan'} + % 100*beta / Ip[MA] * B0[T] * a[m] + % get B0 from gdat_tcv, without re-opening the shot and using the same parameters except data_request + % easily done thanks to structure call for options + params_eff = gdat_data.gdat_params; + params_eff.data_request='b0'; + b0=gdat_tcv([],params_eff); + params_eff.data_request='ip'; + ip=gdat_tcv([],params_eff); + params_eff.data_request='beta'; + beta=gdat_tcv([],params_eff); + params_eff.data_request='a_minor'; + a_minor=gdat_tcv([],params_eff); + + nodenameeff = '\results::'; + if liuqe_version==2 || liuqe_version==3 + nodenameeff=['\magnetics::iphi']; + tracetdi=tdi(nodenameeff); + gdat_data.data=192.E-07 * 0.996 *tracetdi.data/R0EXP; + end + gdat_data.data_fullpath=[nodenameeff]; + gdat_data.dim = tracetdi.dim; + gdat_data.t = gdat_data.dim{1}; + if any(strcmp(fieldnames(tracetdi),'units')) + gdat_data.units = tracetdi.units; + end + gdat_data.dimunits = tracetdi.dimunits; + gdat_data.request_description = ['vacuum magnetic field at R0=' num2str(R0EXP) 'm']; + case {'ne','te'} % ne or Te from Thomson data on raw z mesh vs (z,t) mdsopen(shot); @@ -399,7 +488,6 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') if any(strcmp(fieldnames(tracetdi),'units')) gdat_data.units=tracetdi.units; end - case 'nerho' diff --git a/crpptbx_new/TCV/tcv_requests_mapping.m b/crpptbx_new/TCV/tcv_requests_mapping.m index f2e3c7e1..435b02ae 100644 --- a/crpptbx_new/TCV/tcv_requests_mapping.m +++ b/crpptbx_new/TCV/tcv_requests_mapping.m @@ -20,39 +20,48 @@ mapping.label = data_request; % for TCV, following choices are set so far: % method = 'tdi' and then expression is the string within tdi (usual case when there is a direct link to an existing signal) % with tdi, if expression cell array, call tdi(cell{1},cell{2},...) -% method = 'function', then expression is the funtion to call which should return the correct structure +% method = 'tdiliuqe': same as tdi but adds "_2" or "_3" if 'liuqe',2 or 3 is asked for in options +% method = 'function', then expression is the funtion to call which should return a structure, which fields are copied to gdat_data % method = 'switchcase', then there will be a specific case within gdat_tcv (usual case when not directly a signal) % % label is used for plotting switch lower(data_request) + case 'a_minor' + mapping.label = 'a(LCFS)'; + mapping.method = 'switchcase'; + mapping.expression = ''; case 'b0' mapping.label = 'B_0'; mapping.method = 'switchcase'; mapping.expression = ''; + case 'beta' + mapping.label = '\beta'; + mapping.method = 'tdiliuqe'; + mapping.expression = '\results::beta_tor'; case 'betan' mapping.label = '\beta_N'; mapping.method = 'switchcase'; mapping.expression = ''; case 'betap' mapping.label = '\beta_p'; - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::beta_pol'; case 'cxrs' mapping.label = 'cxrs'; mapping.method = 'switchcase'; mapping.expression = ''; case 'delta' - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::delta_edge'; - mapping.method = 'function'; - mapping.expression = ['tdi(''\results::q_psi'');']; + % mapping.method = 'function'; + % mapping.expression = ['tdi(''\results::q_psi'');']; % for tests case 'delta_top' mapping.label = 'delta\_top'; - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::delta_ed_top'; case 'delta_bottom' mapping.label = 'delta\_bottom'; - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::delta_ed_bot'; case 'ece' mapping.method = 'switchcase'; @@ -73,7 +82,7 @@ switch lower(data_request) mapping.method = 'tdi'; mapping.expression = '\magnetics::iplasma:trapeze'; case 'kappa' - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::kappa_edge'; case 'mhd' mapping.label = 'n=1,2, etc'; @@ -101,13 +110,13 @@ switch lower(data_request) mapping.label = 'various powers'; mapping.method = 'switchcase'; case 'q0' - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::q_zero'; case 'q95' - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::q_95'; case 'qedge' - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::q_edge'; case 'qrho' mapping.label = 'q'; @@ -120,7 +129,7 @@ switch lower(data_request) mapping.method = 'switchcase'; % from conf if exist otherwise computes it case 'rmag' mapping.label = 'R\_magaxis'; - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::r_axis'; case 'sxr' mapping.method = 'switchcase'; @@ -153,7 +162,7 @@ switch lower(data_request) mapping.method = 'switchcase'; case 'zmag' mapping.label = 'Zmagaxis'; - mapping.method = 'tdi'; + mapping.method = 'tdiliuqe'; mapping.expression = '\results::z_axis'; % $$$ case '' % $$$ mapping.label = ''; diff --git a/crpptbx_new/gdat_data_request_names.xlsx b/crpptbx_new/gdat_data_request_names.xlsx index 419bf48dcfa4eec850ba8aefc48338caf2044112..a064c20cd7b818eae5f9a3929fd74b5aba1243f9 100644 GIT binary patch delta 4160 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 K21_dd0001jpy?6- delta 4010 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 Q<R_C~E+Pi0DgXcg064jfFaQ7m diff --git a/crpptbx_new/gdat_plot.m b/crpptbx_new/gdat_plot.m index 67e315b1..02c616e8 100644 --- a/crpptbx_new/gdat_plot.m +++ b/crpptbx_new/gdat_plot.m @@ -1,12 +1,34 @@ -function [fighandle]=gdat_plot(gdat_data); +function [fighandle]=gdat_plot(gdat_data,varargin); % +% choices from doplot in gdat_data.gdat_params.doplot: +% doplot = 0: no plot +% = 1: new figure created +% = -1: add to current figure (with hold all) +% > 1: create new figure with this number, adding clf +% <-1: add to figure number abs(doplot) (with hold all) % +if ~isfield(gdat_data.gdat_params,'doplot') || gdat_data.gdat_params.doplot ==0 + return +end + +fighandle = get(0,'CurrentFigure'); -fighandle = figure; if prod(isfield(gdat_data,{'data','t'})) && ~isempty(gdat_data.data) && ~isempty(gdat_data.t) + if gdat_data.gdat_params.doplot == 1 + fighandle = figure; + elseif gdat_data.gdat_params.doplot > 1 + fighandle = figure(gdat_data.gdat_params.doplot); + clf; + elseif gdat_data.gdat_params.doplot == -1 + hold all + elseif gdat_data.gdat_params.doplot < -1 + fighandle = figure(abs(gdat_data.gdat_params.doplot)); + hold all + end plot(gdat_data.t,gdat_data.data); title([gdat_data.gdat_params.machine ' #' num2str(gdat_data.shot)]); ylabel(gdat_data.label); + zoom on; else disp('cannot plot gdat_data, has empty data or t field') end -- GitLab