diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m index fda7a801c21e87218c88222b3a80b122f40a79a4..6f1d4ca357eae595f3045a08fa2bd732480e56f1 100644 --- a/matlab/TCV/gdat_tcv.m +++ b/matlab/TCV/gdat_tcv.m @@ -829,23 +829,29 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') if strcmp(lower(gdat_data.gdat_params.source),'iphi') nodenameeff=['\magnetics::iphi']; tracetdi=tdi(nodenameeff); - gdat_data.data=192.E-07 * 0.996 *tracetdi.data/r0exp; + added_correction = 0.996; % correction already in liuqe.f + added_correction_str = ['96*mu0/2piR0 * ' num2str(added_correction) ' * ']; + gdat_data.data=192.E-07 * added_correction *tracetdi.data/r0exp; else if liuqe_matlab==0 + added_correction = 1.0; % correction already in liuqe.f + added_correction_str = ['']; nodenameeff = ['tcv_eq(''BZERO'',''LIUQE' substr_liuqe_tcv_eq ''')']; else if isempty(substr_liuqe); substr_liuqe = '_1'; end nodenameeff=['tcv_eq(''BZERO'',''LIUQE.M' substr_liuqe_tcv_eq ''')']; + added_correction = 0.996; % correction removed in liuqe.m at this stage + added_correction_str = [num2str(added_correction) ' * ']; end tracetdi=tdi(nodenameeff); - gdat_data.data = tracetdi.data; + gdat_data.data = tracetdi.data .* added_correction; end end if isempty(tracetdi.data) || isempty(tracetdi.dim) % || ischar(tracetdi.data) (to add?) if (gdat_params.nverbose>=1); warning(['problems loading data for ' nodenameeff ' for data_request= ' data_request_eff]); end return end - gdat_data.data_fullpath=[nodenameeff]; + gdat_data.data_fullpath=[added_correction_str nodenameeff]; gdat_data.dim = tracetdi.dim; gdat_data.t = gdat_data.dim{1}; if any(strcmp(fieldnames(tracetdi),'units')) @@ -862,7 +868,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - case {'betan'} + case {'betan', 'beta_tor_norm'} % 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 @@ -1260,9 +1266,49 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.request_description = ['data=psi, x=(R,Z), eqdsk contains eqdsk structure with which ' ... 'plot_eqdsk, write_eqdsk, read_eqdsk can be used']; + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + case {'gas', 'gas_flux', 'gas_request', 'gas_feedforward'} + params_eff = gdat_data.gdat_params; + params_eff.data_request = '\diagz::flux_gaz:piezo_1:flux'; + gasflux = gdat_tcv(gdat_data.shot,params_eff); + gdat_data.gas_flux = gasflux; + params_eff.data_request = '\hybrid::mat_m_signals:output_019'; + gasrequest = gdat_tcv(gdat_data.shot,params_eff); + gdat_data.gas_request_volt = gasrequest; + %volt_to_mlpers = max(0.,(in_volt-0.6879)*(72.41/(4.2673-0.6879)) + gdat_data.gas_request_flux = gasrequest; + gdat_data.gas_request_flux.data = max(0.,72.41.*(gasrequest.data-0.6879)./(4.2673-0.6879)); + gdat_data.gas_request_flux.units = gasflux.units; + params_eff.data_request = '\draw_feedfor_gas:alim_001'; + gasrequest_ref = gdat_tcv(gdat_data.shot,params_eff); gasrequest_ref.units = 'V'; + gdat_data.gas_feedforward_volt = gasrequest_ref; + gdat_data.gas_feedforward_flux = gasrequest_ref; + gdat_data.gas_feedforward_flux.data = max(0.,72.41.*(gasrequest_ref.data-0.6879)./(4.2673-0.6879)); + gdat_data.label = data_request_eff; + switch data_request_eff + case {'gas', 'gas_flux'} + gdat_data.data = gdat_data.gas_flux.data; + gdat_data.units = gdat_data.gas_flux.units; + gdat_data.t = gdat_data.gas_flux.t; + 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; + 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; + otherwise + error('gas option not defined') + end + gdat_data.dim{1} = gdat_data.t; + gdat_data.dimunits{1} = 's'; + if isfield(gdat_data.gdat_params,'time_out') && ~isempty(gdat_data.gdat_params.time_out) + [gdat_data] = gdat2time_out(gdat_data,1); + end + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% case {'halphas'} - mapping.expression = '\base::pd:pd_001'; channels = [1:18]; if isfield(gdat_data.gdat_params,'channels') && ~isempty(gdat_data.gdat_params.channels) channels = gdat_data.gdat_params.channels;