diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m b/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m deleted file mode 100644 index 46d4c5074823397132a1d33f74e65b1dce01c7bb..0000000000000000000000000000000000000000 --- a/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m +++ /dev/null @@ -1,26 +0,0 @@ -function ids_struct_out = tcv_get_ids_flux_loop(shot, ids_structures) -% Get ids field magnetics.fluxx_loop - -% Get data -tmp = gdat_tcv(shot, 'tcv_idealloop("FLUX")'); -names = tmp.dim{2}; -time = tmp.dim{1}; -data = tmp.data; - -% Preallocate output structure -Nprobes = size(tmp.data,2); -ids_struct_out(1:Nprobes) = ids_structures; - -% Put data on ids structure -for ii=1:Nprobes - ids_struct_out{ii}.name = [names{ii}]; - ids_struct_out{ii}.position{1}.r = mdsvalue('STATIC("R_F" )[$1]',ids_struct_out{ii}.name); - ids_struct_out{ii}.position{1}.z = mdsvalue('STATIC("Z_F" )[$1]',ids_struct_out{ii}.name); - ids_struct_out{ii}.flux.data = data(:,ii); - ids_struct_out{ii}.flux.time = time; - - ids_struct_out{ii}.flux.data_error_upper = 0.001200000056997.*ones(size(ids_struct_out{ii}.flux.data)); - %(not filled if symmetric) ids_struct_out{ii}.flux.data_error_lower = 0.0012;%.*ones(size(ids_struct_out{ii}.flux.data)); - %ids_struct_out{ii}.position.phi = 0; % TO BE FOUND -end - diff --git a/crpptbx/TCV_IMAS/tcv_ids_flux_loop.m b/crpptbx/TCV_IMAS/tcv_ids_flux_loop.m new file mode 100644 index 0000000000000000000000000000000000000000..ffb338de3b1e8bd3d32fce2b3aea5b00f3cb1c23 --- /dev/null +++ b/crpptbx/TCV_IMAS/tcv_ids_flux_loop.m @@ -0,0 +1,58 @@ +function [sub_ids_struct_out,sub_ids_struct_out_description] = tcv_ids_flux_loop(shot, ids_structures, gdat_params, varargin) +% +% [sub_ids_struct_out,sub_ids_struct_out_description] = tcv_ids_flux_loop(shot, ids_structures, gdat_params, varargin) +% +% Get ids field magnetics.flux_loop +% +% error_bar: from gdat_params.error_bar +% 'relative' (default): value to be added +% 'added': value already added to data: data +- error_bar +% + +error_bar = 'relative'; +if exist('gdat_params') && isfield(gdat_params,'error_bar') && ~isempty(gdat_params.error_bar) + error_bar = gdat_params.error_bar; +end + +% Get data +tmp = gdat_tcv(shot, 'tcv_idealloop("FLUX")'); +names = tmp.dim{2}; +time = tmp.dim{1}; +data = tmp.data; + +% Preallocate output structure +Nprobes = size(tmp.data,2); +sub_ids_struct_out(1:Nprobes) = ids_structures; + +% Put data on ids structure +for ii=1:Nprobes + sub_ids_struct_out{ii}.name = [names{ii}]; + sub_ids_struct_out_description{ii}.name = [names{ii}]; + sub_ids_struct_out{ii}.position{1}.r = mdsvalue('STATIC("R_F" )[$1]',sub_ids_struct_out{ii}.name); + sub_ids_struct_out_description{ii}.position_r = ['from ''STATIC("R_F" )[' sub_ids_struct_out{ii}.name ']''']; + sub_ids_struct_out{ii}.position{1}.z = mdsvalue('STATIC("Z_F" )[$1]',sub_ids_struct_out{ii}.name); + sub_ids_struct_out_description{ii}.position_z = ['from ''STATIC("Z_F" )[' sub_ids_struct_out{ii}.name ']''']; + sub_ids_struct_out{ii}.flux.data = data(:,ii); + sub_ids_struct_out_description{ii}.flux_data = 'from ''tcv_idealloop("FLUX")'''; + % sub_ids_struct_out{ii}.position.phi = 0; % TO BE FOUND +end + +switch error_bar + case 'relative' + for ii=1:Nprobes + sub_ids_struct_out{ii}.flux.data_error_upper = 0.001200000056997.*ones(size(sub_ids_struct_out{ii}.flux.data)); + sub_ids_struct_out_description{ii}.flux_data_error_upper = ['from fixed error value in case ' error_bar]; + sub_ids_struct_out_description{ii}.flux_data_error_lower = ['not provided since symmetric']; + %(not filled if symmetric) sub_ids_struct_out{ii}.flux.data_error_lower = 0.0012;%.*ones(size(sub_ids_struct_out{ii}.flux.data)); + end + case 'added' + for ii=1:Nprobes + sub_ids_struct_out{ii}.flux_data_error_upper = sub_ids_struct_out{ii}.flux.data + 0.001200000056997.*ones(size(sub_ids_struct_out{ii}.flux.data)); + sub_ids_struct_out{ii}.flux_data_error_lower = sub_ids_struct_out{ii}.flux.data - 0.001200000056997.*ones(size(sub_ids_struct_out{ii}.flux.data)); + sub_ids_struct_out_description{ii}.flux.data_error_upper = ['from data + fixed error value in case ' error_bar]; + sub_ids_struct_out_description{ii}.flux.data_error_lower = ['from data - fixed error value in case ' error_bar]; + end + otherwise + error(['tcv_ids_flux_loop: error_bar option not known: ' error_bar]) +end +