From 6dce500f7ff5824bfab00abbc5b913b1924dd1ce Mon Sep 17 00:00:00 2001 From: Olivier Sauter <olivier.sauter@epfl.ch> Date: Wed, 27 Mar 2019 21:13:33 +0000 Subject: [PATCH] adapt some tcv_get_ids git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@11657 d63d8f72-b253-0410-a779-e742ad2e26cf --- crpptbx/TCV_IMAS/ids2database.m | 4 +--- crpptbx/TCV_IMAS/tcv2ids2database.m | 3 ++- crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m | 5 +++-- crpptbx/TCV_IMAS/tcv_get_ids_circuit.m | 1 + crpptbx/TCV_IMAS/tcv_get_ids_coil.m | 12 ++++-------- crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m | 4 ++-- crpptbx/TCV_IMAS/tcv_get_ids_magnetics.m | 4 +++- crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m | 2 ++ crpptbx/TCV_IMAS/tcv_get_ids_supply.m | 1 + crpptbx/TCV_IMAS/tcv_get_ids_wall.m | 9 ++++++++- 10 files changed, 27 insertions(+), 18 deletions(-) diff --git a/crpptbx/TCV_IMAS/ids2database.m b/crpptbx/TCV_IMAS/ids2database.m index 1aec6e42..c28a897e 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 7c865b8c..b2b298a8 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 1991c3a9..55c345b2 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 2f13a8fc..4bca1772 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 be5a702c..29795881 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 4ec85cf4..0f2edb80 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 883da13a..2736fe7a 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 7e2f6d63..aaf6a5a6 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 2ad3bd3b..da4d3d2b 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 dcefe347..f588dc02 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 = []; -- GitLab