Skip to content
Snippets Groups Projects
Commit 434965a5 authored by Antonia Frank's avatar Antonia Frank
Browse files

Add line averaged density to IDS summary

parent cf9cfe45
No related branches found
No related tags found
1 merge request!137Add quantities to ids for MRE
Pipeline #182222 canceled
...@@ -36,6 +36,7 @@ ids_summary.code.name = 'gdat'; ...@@ -36,6 +36,7 @@ ids_summary.code.name = 'gdat';
ids_summary.code.version = git_release_hash; ids_summary.code.version = git_release_hash;
ids_summary.code.repository = git_url; ids_summary.code.repository = git_url;
%% boundary
% use equilibrium time as reference, so load first elongation(time) % use equilibrium time as reference, so load first elongation(time)
params_eff = params_eff_ref; params_eff = params_eff_ref;
...@@ -59,7 +60,6 @@ ids_summary.time = unique([t_before; [kappa.t(1):max((kappa.t(end)-kappa.t(1))/( ...@@ -59,7 +60,6 @@ ids_summary.time = unique([t_before; [kappa.t(1):max((kappa.t(end)-kappa.t(1))/(
ids_summary_description.time = 'time from gdat(shot,''kappa'') and adding from 0 up to t(ip_trapeze(end))'; ids_summary_description.time = 'time from gdat(shot,''kappa'') and adding from 0 up to t(ip_trapeze(end))';
params_eff = params_eff_ref; params_eff = params_eff_ref;
% boundary:
boundary.elongation = kappa; boundary.elongation = kappa;
boundary_desc.elongation = kappa.gdat_params.data_request; boundary_desc.elongation = kappa.gdat_params.data_request;
params_eff.data_request = 'r_geom'; params_eff.data_request = 'r_geom';
...@@ -121,13 +121,13 @@ if ~isempty(special_fields) ...@@ -121,13 +121,13 @@ if ~isempty(special_fields)
% $$$ end % $$$ end
end end
% disruption, use specific function %% disruption, use specific function
% to be decided if changes only ids_summary_out.disruption or also elsewhere..., if ids_summary_out.time is changed, % to be decided if changes only ids_summary_out.disruption or also elsewhere..., if ids_summary_out.time is changed,
% then all the other data should be related, thus call this first? % then all the other data should be related, thus call this first?
[ids_summary_out,ids_summary_out_description] = ids_summary_disruption(shot, ids_summary, gdat_params); [ids_summary_out,ids_summary_out_description] = ids_summary_disruption(shot, ids_summary, gdat_params);
% gas: bottom/top?, deuterium, helium_xx, ? %% gas: bottom/top?, deuterium, helium_xx, ?
params_eff.data_request = 'gas_flux'; params_eff.data_request = 'gas_flux';
gas_injection_rates.deuterium = gdat(params_summary.shot,params_eff); gas_injection_rates.deuterium = gdat(params_summary.shot,params_eff);
gas_injection_rates_desc.deuterium = params_eff.data_request; gas_injection_rates_desc.deuterium = params_eff.data_request;
...@@ -148,7 +148,8 @@ for i=1:numel(gas_injection_rates_fieldnames) ...@@ -148,7 +148,8 @@ for i=1:numel(gas_injection_rates_fieldnames)
end end
end end
%params_eff.doplot=1; %params_eff.doplot=1;
% global_quantities:
%% global_quantities
params_eff.data_request = 'b0'; params_eff.data_request = 'b0';
global_quantities.b0 = gdat(params_summary.shot,params_eff); % do not add 'source','liuqe' to get all times global_quantities.b0 = gdat(params_summary.shot,params_eff); % do not add 'source','liuqe' to get all times
global_quantities_desc.b0 = [params_eff.data_request ' ; ' global_quantities.b0.data_fullpath]; global_quantities_desc.b0 = [params_eff.data_request ' ; ' global_quantities.b0.data_fullpath];
...@@ -263,6 +264,7 @@ end ...@@ -263,6 +264,7 @@ end
ids_summary.global_quantities.r0.value = global_quantities.r0.data; ids_summary.global_quantities.r0.value = global_quantities.r0.data;
ids_summary.global_quantities.r0.source = ['gdat request: ' global_quantities_desc.r0]; ids_summary.global_quantities.r0.source = ['gdat request: ' global_quantities_desc.r0];
%% volume average
% cst zeff % cst zeff
params_eff.data_request = '\tcv_shot::top.results.ibs:z_eff'; params_eff.data_request = '\tcv_shot::top.results.ibs:z_eff';
volume_average.zeff = gdat(params_summary.shot,params_eff); volume_average.zeff = gdat(params_summary.shot,params_eff);
...@@ -283,6 +285,29 @@ for i=1:numel(volume_average_fieldnames) ...@@ -283,6 +285,29 @@ for i=1:numel(volume_average_fieldnames)
end end
end end
%% line average
params_eff.data_request = 'nel';
line_average.n_e = gdat(params_summary.shot,params_eff);
line_average_desc.n_e = [params_eff.data_request ' ; ' volume_average.zeff.data_fullpath ' (not vol avrg but to match Iohm)'];
special_fields = {}; % fields needing non-automatic treatments
line_average_fieldnames = fieldnames(line_average);
for i=1:numel(line_average_fieldnames)
if ~any(strcmp(line_average_fieldnames{i},special_fields))
if ~isstruct(ids_summary.line_average.(line_average_fieldnames{i}).value)
ids_summary.line_average.(line_average_fieldnames{i}).value = interp1( ...
line_average.(line_average_fieldnames{i}).t,line_average.(line_average_fieldnames{i}).data, ...
ids_summary.time,'linear',NaN);
ids_summary.line_average.(line_average_fieldnames{i}).source = ['gdat request: ' line_average_desc.(line_average_fieldnames{i})];
else
special_fields{end+1} = line_average_fieldnames{i};
end
end
end
%%
% cocos automatic transform % cocos automatic transform
if ~isempty(which('ids_generic_cocos_nodes_transformation_symbolic')) if ~isempty(which('ids_generic_cocos_nodes_transformation_symbolic'))
[ids_summary,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_summary,'summary',gdat_params.cocos_in, ... [ids_summary,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_summary,'summary',gdat_params.cocos_in, ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment