diff --git a/crpptbx/TCV_IMAS/ids2database.m b/crpptbx/TCV_IMAS/ids2database.m index 1aec6e42e7feba1741bfbae546906bad4966edb1..c28a897e871f68e27fd7c407539c5ca868c8727a 100644 --- a/crpptbx/TCV_IMAS/ids2database.m +++ b/crpptbx/TCV_IMAS/ids2database.m @@ -78,7 +78,7 @@ try %% Put the field for i=1:length(ids_names_ok) - ids_to_get = ids_names_ok{i}; + ids_to_get = ids_names_ok{i} if occurence <= 0 ids_put(idx,ids_to_get,ids2put.(ids_to_get)); else @@ -91,6 +91,4 @@ try catch ME disp('problems in putting data in database:') rethrow(ME) - idx - keyboard end diff --git a/crpptbx/TCV_IMAS/tcv2ids2database.m b/crpptbx/TCV_IMAS/tcv2ids2database.m index 7c865b8c7841c4f84b185f7828b496e8a372dd07..b2b298a82f7141c52f8ff006330d79e24624f8d5 100644 --- a/crpptbx/TCV_IMAS/tcv2ids2database.m +++ b/crpptbx/TCV_IMAS/tcv2ids2database.m @@ -3,10 +3,11 @@ % shot=40000; +shot=62745; run_out=999; occurence=0; -ids2get = []; % default will load all defined so far +ids2get = {'equilibrium', 'magnetics', 'pf_active','wall'}; % default will load all defined so far [ids_from_tcv,idsok] = tcv2ids(shot,ids2get); %% can plot with: [plotids_H] = plotids([],idsok.ids{1},idsok.ids{2}); diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m b/crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m index 1991c3a906fe64c0740510ab603f11b63a1eb388..55c345b217b09c36e4c079b43eb71ff5bbcbe44c 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m @@ -24,7 +24,8 @@ for ii=1:Nprobes %ids_struct_out{ii}.position.toroidal_angle = mdsdata('STATIC("ANG_M" )[$1]',ids_struct_out{ii}.position.name); %ids_struct_out{ii}.position.poloidal_angle = 0; % TO BE FOUND - ids_struct_out{ii}.position.field.data_error_upper = 0.001;% TO BE FOUND; - ids_struct_out{ii}.position.field.data_error_upper = 0.001;% TO BE FOUND; + + ids_struct_out{ii}.field.data_error_upper = 0.001.*ones(size(ids_struct_out{ii}.field.data));% TO BE FOUND; + %(not filled if symmetric) ids_struct_out{ii}.position.field.data_error_lower = 0.001;%.*ones(size(ids_struct_out{ii}.field.data));% TO BE FOUND; end diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_circuit.m b/crpptbx/TCV_IMAS/tcv_get_ids_circuit.m index 2f13a8fc102d88f3e1fe72758bf9ae8bfe32abb0..4bca17725cafc60454242f16ac66a2cfcc1074bc 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_circuit.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_circuit.m @@ -10,6 +10,7 @@ for ii=1:tcv_circuit_info.ntotcircuits tmpdata = tdi(tcv_circuit_info.mds_paths{ii}); % Get current ids_struct_out{ii}.current.data = tmpdata.data; ids_struct_out{ii}.current.time = tmpdata.dim{1}; + % ids_struct_out{ii}.current.data_error_upper = 0.03.*max(abs(ids_struct_out{ii}.current.data)).*ones(size(ids_struct_out{ii}.current.data)); ids_struct_out{ii}.connections = tcv_circuit_info.connection_matrix{ii}; ids_struct_out{ii}.name = tcv_circuit_info.circuit_names{ii}{1}; end diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_coil.m b/crpptbx/TCV_IMAS/tcv_get_ids_coil.m index be5a702ca94420ff8ab387b5aa848d677a0bbe3f..29795881927c240db766c4db153b337d628bc409 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_coil.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_coil.m @@ -62,8 +62,8 @@ for ii=1:ncircuits2ids tmpdata = tdi(mds_paths2ids{ii}); ids_struct_out{ind_coil_ids}.current.data = tmpdata.data; ids_struct_out{ind_coil_ids}.current.time = tmpdata.dim{1}; - ids_struct_out{ind_coil_ids}.current.data_error_lower = 200; - ids_struct_out{ind_coil_ids}.current.data_error_upper = 200; + ids_struct_out{ind_coil_ids}.current.data_error_upper = 200.*ones(size(ids_struct_out{ind_coil_ids}.current.data)); + % (leave empty when symmetric) ids_struct_out{ind_coil_ids}.current.data_error_lower = 200; % Find index on static tree @@ -74,14 +74,10 @@ for ii=1:ncircuits2ids ids_struct_out{ind_coil_ids}.element{1}.geometry.rectangle.height = h_c(tmpind); ids_struct_out{ind_coil_ids}.element{1}.turns_with_sign = nt_c(tmpind); ids_struct_out{ind_coil_ids}.element{1}.geometry.geometry_type = 2; % 1 outline, 2 rectangle, 4 arc of circle - %ids_struct_out{ind_coil_ids}.current.data_error_upper = % TO BE FOUND; - %ids_struct_out{ind_coil_ids}.current.data_error_lower = % TO BE FOUND; + % ids_struct_out{ind_coil_ids}.current.data_error_upper = % TO BE FOUND; + % (leave empty when symmetric) ids_struct_out{ind_coil_ids}.current.data_error_lower = % TO BE FOUND; end end -end - - - diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m b/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m index 4ec85cf49501083c695dd83537647f2866b24b59..0f2edb80b56ad992974881d6c6bdab77b89533a6 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m @@ -20,8 +20,8 @@ for ii=1:Nprobes ids_struct_out{ii}.flux.data = data(:,ii); ids_struct_out{ii}.flux.time = time; - ids_struct_out{ii}.flux.data_error_upper = 0.0012; - ids_struct_out{ii}.flux.data_error_lower = 0.0012; + ids_struct_out{ii}.flux.data_error_upper = 0.0012.*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_get_ids_magnetics.m b/crpptbx/TCV_IMAS/tcv_get_ids_magnetics.m index 883da13a52dd7ce873130099d1850a7f03a16fa6..2736fe7a7a81604d22baf8f75ca17f8d6478272b 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_magnetics.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_magnetics.m @@ -1,6 +1,6 @@ function [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magnetics(shot, ids_magnetics_empty, varargin) % -% [ids_equilibrium,ids_equilibrium_description,varargout] = get_ids_equilibrium_fixed_boundary(shot,varargin); +% [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magnetics(shot, ids_magnetics_empty, varargin); % [ids_magnetics, params_magnetics] = tcv_ids_headpart(shot, ids_magnetics_empty,'magnetics','homogeneous_time',0,varargin{:}); @@ -9,5 +9,7 @@ function [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magne [ids_magnetics.flux_loop]= tcv_get_ids_flux_loop(params_magnetics.shot, ids_magnetics.flux_loop(1)); [ids_magnetics.method]= tcv_get_ids_ip(params_magnetics.shot, ids_magnetics.method(1)); +% make arrays not filled in empty: not the case for magnetics + %% Temporarely documentation ids_magnetics_description = struct([]); diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m b/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m index 7e2f6d6384ebca0b5db5c961e7bcef19a7266cbc..aaf6a5a6cb67bcd0705b93ef78e062b07099ba30 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m @@ -8,6 +8,8 @@ function [ids_pf_active,ids_description,varargout] = tcv_get_ids_pf_active(shot, [ids_pf_active.circuit]= tcv_get_ids_circuit(params.shot, ids_pf_active.circuit(1)); [ids_pf_active.supply]= tcv_get_ids_supply(params.shot, ids_pf_active.supply(1)); +% make arrays not filled in empty: not the case for magnetics +ids_pf_active.vertical_force = {}; %% Temporarely ids_description = struct(); diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_supply.m b/crpptbx/TCV_IMAS/tcv_get_ids_supply.m index 2ad3bd3b662b756a6ee6106c3c4a10d3b500a8e9..da4d3d2be944d936c712c1de8290e96499b05f84 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_supply.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_supply.m @@ -10,5 +10,6 @@ for ii=1:tcv_circuit_info.ntotpowersupplies tmpdata = tdi(tcv_circuit_info.mds_paths{ii}); % Get current ids_struct_out{ii}.current.data = abs(tmpdata.data); ids_struct_out{ii}.current.time = tmpdata.dim{1}; + % ids_struct_out{ii}.current.data_error_upper = 0.03.*max(abs(ids_struct_out{ii}.current.data)).*ones(size(ids_struct_out{ii}.current.data)); ids_struct_out{ii}.name = tcv_circuit_info.power_supply_names{ii}; end diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_wall.m b/crpptbx/TCV_IMAS/tcv_get_ids_wall.m index dcefe347bd6ea1bb3febc455d03fd1d90298baa5..f588dc029736970f3cb1c352ac71398a995e34bc 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_wall.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_wall.m @@ -6,5 +6,12 @@ function [ids_wall,ids_description,varargout] = tcv_get_ids_wall(shot, ids_wall_ % Get data of outline [ids_wall.description_2d]= tcv_get_ids_descprition_2d(params.shot, ids_wall.description_2d(1)); +% make arrays not filled in empty: not the case for magnetics +% put does not work: ids_wall.global_quantities = struct([]); +% put does not work: ids_wall.global_quantities.electrons = struct([]); +ids_wall.global_quantities.neutral = {}; % wall does not work with Antoine's addpath +ids_wall.description_ggd = {}; +% put does not work: ids_wall.description_2d{1}.type = struct([]); + %% TODO -ids_description = []; \ No newline at end of file +ids_description = [];