From b1851c807917f68d67e6cfdffbce34febec743ae Mon Sep 17 00:00:00 2001 From: Olivier Sauter <Olivier.Sauter@epfl.ch> Date: Fri, 20 Sep 2019 10:18:54 +0200 Subject: [PATCH] fix bug if ids_generic_cocos_nodes_transformation_symbolic not in path to make it work at SPC for example --- matlab/TCV_IMAS/tcv_get_ids_core_profiles.m | 10 ++++--- matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m | 8 +++-- matlab/TCV_IMAS/tcv_get_ids_equilibrium.m | 8 +++-- matlab/TCV_IMAS/tcv_get_ids_magnetics.m | 8 +++-- matlab/TCV_IMAS/tcv_get_ids_nbi.m | 9 +++--- matlab/TCV_IMAS/tcv_get_ids_pf_active.m | 8 +++-- matlab/TCV_IMAS/tcv_get_ids_tf.m | 33 +++++++++++---------- matlab/TCV_IMAS/tcv_get_ids_wall.m | 12 ++++---- matlab/tests_matlab.m | 8 +++-- 9 files changed, 61 insertions(+), 43 deletions(-) diff --git a/matlab/TCV_IMAS/tcv_get_ids_core_profiles.m b/matlab/TCV_IMAS/tcv_get_ids_core_profiles.m index 97bf2f0b..9a324913 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_core_profiles.m +++ b/matlab/TCV_IMAS/tcv_get_ids_core_profiles.m @@ -252,7 +252,7 @@ for it=1:length(ids_core_profiles.time) ids_core_profiles.profiles_1d{it}.pressure_ion_total = 1.6022e-19 .* ids_core_profiles.profiles_1d{it}.n_i_thermal_total ... .* ids_core_profiles.profiles_1d{it}.t_i_average; ids_core_profiles.profiles_1d{it}.pressure_thermal = ids_core_profiles.profiles_1d{it}.pressure_ion_total ... - + ids_core_profiles.profiles_1d{it}.electrons.pressure_thermal; + + ids_core_profiles.profiles_1d{it}.electrons.pressure_thermal; end if ~isempty(temp_1d.cxrs_rho.ti.fit.data) it_raw = iround_os(temp_1d.ti.raw.t,ids_core_profiles.time); @@ -289,6 +289,8 @@ for it=1:length(ids_core_profiles.time) end % cocos automatic transform -cocos_in=17; -cocos_out=11; -[ids_core_profiles,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_core_profiles,'core_profiles',cocos_in,cocos_out); +if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2 + cocos_in=17; + cocos_out=11; + [ids_core_profiles,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_core_profiles,'core_profiles',cocos_in,cocos_out); +end diff --git a/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m b/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m index a9fde774..6b439d32 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m +++ b/matlab/TCV_IMAS/tcv_get_ids_ec_antennas.m @@ -76,6 +76,8 @@ for iant=1:nb_antennas end % cocos automatic transform -cocos_in=17; -cocos_out=11; -[ids_ec_antennas,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_ec_antennas,'ec_antennas',cocos_in,cocos_out); +if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2 + cocos_in=17; + cocos_out=11; + [ids_ec_antennas,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_ec_antennas,'ec_antennas',cocos_in,cocos_out); +end diff --git a/matlab/TCV_IMAS/tcv_get_ids_equilibrium.m b/matlab/TCV_IMAS/tcv_get_ids_equilibrium.m index 1a129def..4f7dba05 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_equilibrium.m +++ b/matlab/TCV_IMAS/tcv_get_ids_equilibrium.m @@ -374,6 +374,8 @@ for it=1:numel(ids_equilibrium.time_slice) end % cocos automatic transform -cocos_in=17; -cocos_out=11; -[ids_equilibrium,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_equilibrium,'equilibrium',cocos_in,cocos_out); +if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2 + cocos_in=17; + cocos_out=11; + [ids_equilibrium,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_equilibrium,'equilibrium',cocos_in,cocos_out); +end diff --git a/matlab/TCV_IMAS/tcv_get_ids_magnetics.m b/matlab/TCV_IMAS/tcv_get_ids_magnetics.m index 202b3540..c4ce1469 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_magnetics.m +++ b/matlab/TCV_IMAS/tcv_get_ids_magnetics.m @@ -14,6 +14,8 @@ function [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magne % make arrays not filled in empty: not the case for magnetics % cocos automatic transform -cocos_in=17; -cocos_out=11; -[ids_magnetics,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_magnetics,'magnetics',cocos_in,cocos_out); +if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2 + cocos_in=17; + cocos_out=11; + [ids_magnetics,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_magnetics,'magnetics',cocos_in,cocos_out); +end diff --git a/matlab/TCV_IMAS/tcv_get_ids_nbi.m b/matlab/TCV_IMAS/tcv_get_ids_nbi.m index efbd0c7f..25aa68cb 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_nbi.m +++ b/matlab/TCV_IMAS/tcv_get_ids_nbi.m @@ -117,7 +117,8 @@ end % cocos automatic transform -cocos_in=17; -cocos_out=11; -[ids_nbi2,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_nbi,'nbi',cocos_in,cocos_out); - +if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2 + cocos_in=17; + cocos_out=11; + [ids_nbi,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_nbi,'nbi',cocos_in,cocos_out); +end diff --git a/matlab/TCV_IMAS/tcv_get_ids_pf_active.m b/matlab/TCV_IMAS/tcv_get_ids_pf_active.m index 1d3fa00d..35f6bcc0 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_pf_active.m +++ b/matlab/TCV_IMAS/tcv_get_ids_pf_active.m @@ -15,6 +15,8 @@ function [ids_pf_active,ids_pf_active_description,varargout] = tcv_get_ids_pf_ac ids_pf_active.vertical_force = {}; % cocos automatic transform -cocos_in=17; -cocos_out=11; -[ids_pf_active,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_pf_active,'pf_active',cocos_in,cocos_out); +if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2 + cocos_in=17; + cocos_out=11; + [ids_pf_active,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_pf_active,'pf_active',cocos_in,cocos_out); +end diff --git a/matlab/TCV_IMAS/tcv_get_ids_tf.m b/matlab/TCV_IMAS/tcv_get_ids_tf.m index 9f281b6e..a25c0548 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_tf.m +++ b/matlab/TCV_IMAS/tcv_get_ids_tf.m @@ -1,6 +1,6 @@ -function [ids_tf_out,ids_tf_out_description] = tcv_get_ids_tf(shot, ids_tf_empty, gdat_params,varargin) +function [ids_tf,ids_tf_description] = tcv_get_ids_tf(shot, ids_tf_empty, gdat_params,varargin) % -% [ids_tf_out] = tcv_get_ids_tf(shot, ids_tf_empty,varargin); +% [ids_tf] = tcv_get_ids_tf(shot, ids_tf_empty,varargin); % % Get the vacuum toroidal field % @@ -9,28 +9,29 @@ function [ids_tf_out,ids_tf_out_description] = tcv_get_ids_tf(shot, ids_tf_empt % gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options % -ids_tf_out = ids_tf_empty; +ids_tf = ids_tf_empty; -[ids_tf_out, params_tf] = tcv_ids_headpart(shot, ids_tf_empty,'tf','homogeneous_time',0,varargin{:}); +[ids_tf, params_tf] = tcv_ids_headpart(shot, ids_tf_empty,'tf','homogeneous_time',0,varargin{:}); tmp = gdat_tcv(shot, 'b0'); if ~ischar(tmp.data) - ids_tf_out.b_field_tor_vacuum_r.data = tmp.data; - ids_tf_out.b_field_tor_vacuum_r.time = tmp.t; - ids_tf_out.r0 = tmp.r0; - ids_tf_out_description.b_field_tor_vacuum_r.data = ' gdat_tcv(shot, ''b0'')'; - ids_tf_out_description.r0 = ' b0.r0 from gdat_tcv(shot, ''b0'')'; + ids_tf.b_field_tor_vacuum_r.data = tmp.data; + ids_tf.b_field_tor_vacuum_r.time = tmp.t; + ids_tf.r0 = tmp.r0; + ids_tf_description.b_field_tor_vacuum_r.data = ' gdat_tcv(shot, ''b0'')'; + ids_tf_description.r0 = ' b0.r0 from gdat_tcv(shot, ''b0'')'; else % leave defaults - ids_tf_out_description = struct([]); + ids_tf_description = struct([]); end % make arrays not filled in empty: not the case for magnetics -ids_tf_out.coil = {}; -ids_tf_out.field_map = {}; +ids_tf.coil = {}; +ids_tf.field_map = {}; % cocos automatic transform -cocos_in=17; -cocos_out=11; -[ids_tf_out,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_tf_out,'tf',cocos_in,cocos_out); - +if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2 + cocos_in=17; + cocos_out=11; + [ids_tf,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_tf,'tf',cocos_in,cocos_out); +end diff --git a/matlab/TCV_IMAS/tcv_get_ids_wall.m b/matlab/TCV_IMAS/tcv_get_ids_wall.m index 069dbf02..27407ded 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_wall.m +++ b/matlab/TCV_IMAS/tcv_get_ids_wall.m @@ -16,11 +16,13 @@ ids_wall.description_ggd = {}; ids_wall.description_2d{1}.mobile.unit = {}; -%% TODO +%% TODO ids_description = []; % cocos automatic transform -cocos_in=17; -cocos_out=11; -% normally nothing to do -[ids_wall,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_wall,'wall',cocos_in,cocos_out); +if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2 + cocos_in=17; + cocos_out=11; + % normally nothing to do + [ids_wall,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_wall,'wall',cocos_in,cocos_out); +end diff --git a/matlab/tests_matlab.m b/matlab/tests_matlab.m index fc515894..9721f39d 100644 --- a/matlab/tests_matlab.m +++ b/matlab/tests_matlab.m @@ -1,14 +1,18 @@ function tests_matlab(test_case) +% % function to call tests from test_script.sh +% calls passed = run_gdat_tests(test_case); +% and exits matlab +% try - if verLessThan('matlab','8.5.0') + if verLessThan('matlab','8.5.0') disp('gdat tests do not work for matlab version <8.5.0, skipping tests'); passed = true; else fprintf('\n Running test file: %s\n',mfilename('fullpath')); fprintf(' Time: %s\n',datestr(now)); passed = run_gdat_tests(test_case); % add a call to your test script here, with optional test_case input - end + end exit_code = int32(~passed); % convert to bash shell convention catch ME disp(getReport(ME)) -- GitLab