From 684cf4fe839d6f63aee43cf13f978109d904740c Mon Sep 17 00:00:00 2001 From: Olivier Sauter <Olivier.Sauter@epfl.ch> Date: Tue, 24 Sep 2019 10:39:36 +0200 Subject: [PATCH] fix ec_ angles and nbi frac orientation --- matlab/TCV_IMAS/tcv2ids2database.m | 13 ++++++++++++- matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m | 4 ++-- matlab/TCV_IMAS/tcv_get_ids_nbi.m | 4 ++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/matlab/TCV_IMAS/tcv2ids2database.m b/matlab/TCV_IMAS/tcv2ids2database.m index 56191700..a95cf90a 100644 --- a/matlab/TCV_IMAS/tcv2ids2database.m +++ b/matlab/TCV_IMAS/tcv2ids2database.m @@ -98,7 +98,18 @@ params_not_in_tcv2ids = {'run_out','occurence','tree_user','tree_tokamak','tree_ params_tcv2ids = rmfield(params_tcv2ids2database,params_not_in_tcv2ids); [ids_from_tcv,idsok] = tcv2ids(shot,params_tcv2ids); ids_from_tcv.params_tcv2ids2database = params_tcv2ids2database; -ids_from_tcv.params_tcv2ids2database + +% check that coreprofiles is ok, could mean anaprofs did not succeed +if isfield(ids_from_tcv,'core_profiles') + if isempty(ids_from_tcv.core_profiles.time) + warning([char(10) '*************' char(10) ... + 'core_profiles.time is empty, probably no data in CONF nodes for TCV, check with hldsi(shot) command on SPC-EPFL lacs computers' ... + char(10) '*************' char(10)]); + return + end +end + + %% can plot with: [plotids_H] = plotids([],idsok.ids{1},idsok.ids{2}); if isfield(ids_from_tcv,'tf') % avoid present problem of not saving data if ids_from_tcv.tf.field_map{1}.time is not set diff --git a/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m b/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m index 8203da41..4c40d5ca 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m +++ b/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m @@ -74,9 +74,9 @@ for iant=1:nb_antennas ids_ec_antennas.antenna{iant}.launching_position.r.time(i) = time_launch; ids_ec_antennas.antenna{iant}.launching_position.z.time(i) = time_launch; ids_ec_antennas.antenna{iant}.launching_position.phi.time(i) = time_launch; - ids_ec_antennas.antenna{iant}.launching_angle_pol.data(i) = launch_params{iant}{it_ok{iant}(i)}.theta_toray * pi/180.; + ids_ec_antennas.antenna{iant}.launching_angle_pol.data(i) = (90.-launch_params{iant}{it_ok{iant}(i)}.theta_toray) * pi/180.; ids_ec_antennas.antenna{iant}.launching_angle_pol.time(i) = time_launch; - ids_ec_antennas.antenna{iant}.launching_angle_tor.data(i) = launch_params{iant}{it_ok{iant}(i)}.phi_toray * pi/180.; + ids_ec_antennas.antenna{iant}.launching_angle_tor.data(i) = (180.-launch_params{iant}{it_ok{iant}(i)}.phi_toray) * pi/180.; ids_ec_antennas.antenna{iant}.launching_angle_tor.time(i) = time_launch; ids_ec_antennas.antenna{iant}.beam.spot.size.data(i,1:2) = 0.05.*ones(size(time_launch)); ids_ec_antennas.antenna{iant}.beam.spot.size.time(i) = time_launch; diff --git a/matlab/TCV_IMAS/tcv_get_ids_nbi.m b/matlab/TCV_IMAS/tcv_get_ids_nbi.m index 5515cf92..ffbbd5ed 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_nbi.m +++ b/matlab/TCV_IMAS/tcv_get_ids_nbi.m @@ -75,14 +75,14 @@ for iunit=1:nb_units ids_nbi.unit{iunit}.beam_power_fraction.time = p_frac.t; ids_nbi_description.unit{iunit}.beam_power_fraction = ['from \results::' results_subname{iunit} ':fraction']; if ~isempty(p_frac.data) && size(p_frac.data,2)>=3 - ids_nbi.unit{iunit}.beam_power_fraction.data = p_frac.data(:,1:3)*0.01; + ids_nbi.unit{iunit}.beam_power_fraction.data = p_frac.data(:,1:3)'*0.01; i_frac = p_frac.data(:,1:3).*repmat([1 2 3],size(p_frac.data,1),1); % to be compatible with older matlab version .*[1 2 3] not ok i_frac = i_frac.*1./repmat(sum(i_frac),size(p_frac.data,1),1); else ids_nbi.unit{iunit}.beam_power_fraction.data = p_frac.data; i_frac = p_frac.data; end - ids_nbi.unit{iunit}.beam_current_fraction.data = i_frac; + ids_nbi.unit{iunit}.beam_current_fraction.data = i_frac'; ids_nbi.unit{iunit}.beam_current_fraction.time = p_frac.t; %% species ids_nbi.unit{iunit}.species.a = species.a(iunit); -- GitLab