diff --git a/matlab/TCV_IMAS/tcv_get_ids_magnetics.m b/matlab/TCV_IMAS/tcv_get_ids_magnetics.m
index e1491454cd4214f7e53b1f66b8431c755fd6159b..9548e1d673fbb6467dd4218cbdb7fbae9f21dd5d 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_magnetics.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_magnetics.m
@@ -5,7 +5,7 @@ function [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magne
 % gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options
 %
 
-if exist('gdat_params')
+if exist('gdat_params','var')
   [ids_magnetics, params_magnetics] = tcv_ids_headpart(shot, ids_magnetics_empty,'magnetics','homogeneous_time',0, ...
           'gdat_params',gdat_params,varargin{:});
 else
@@ -21,7 +21,7 @@ end
 % make arrays not filled in empty: not the case for magnetics
 
 % cocos automatic transform
-if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
+if exist('ids_generic_cocos_nodes_transformation_symbolic','file')
   [ids_magnetics,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_magnetics,'magnetics',gdat_params.cocos_in, ...
           gdat_params.cocos_out,gdat_params.ipsign_out,gdat_params.b0sign_out,gdat_params.ipsign_in,gdat_params.b0sign_in, ...
           gdat_params.error_bar,gdat_params.nverbose);
diff --git a/matlab/TCV_IMAS/tcv_ids_bpol_probe.m b/matlab/TCV_IMAS/tcv_ids_bpol_probe.m
index d5764521e61a01fa450a32a71223c19c334276be..2cb28fae28b146248cbfd4d7a4ded9bf941f754d 100644
--- a/matlab/TCV_IMAS/tcv_ids_bpol_probe.m
+++ b/matlab/TCV_IMAS/tcv_ids_bpol_probe.m
@@ -11,24 +11,25 @@ function [sub_ids_struct_out,sub_ids_struct_out_description, varargout] =  tcv_i
 %
 
 error_bar = 'delta';
-if exist('gdat_params') && isfield(gdat_params,'error_bar') && ~isempty(gdat_params.error_bar)
+if exist('gdat_params','var') && isfield(gdat_params,'error_bar') && ~isempty(gdat_params.error_bar)
   error_bar = gdat_params.error_bar;
 end
 params_eff_ref = gdat_params; params_eff_ref.doplot=0;
-try;params_eff_ref=rmfield(params_eff_ref,'source');catch;end % make sure no source (from ids def)
+try params_eff_ref=rmfield(params_eff_ref,'source');catch;end % make sure no source (from ids def)
 
 % Get data
 params_eff = params_eff_ref;
 params_eff.data_request = '\MAGNETICS::BPOL_003';
 tmp = gdat_tcv( shot,params_eff);
-tmp_desc = params_eff.data_request;
+% tmp_desc = params_eff.data_request;
 names = tmp.dim{2};
 time = tmp.dim{1};
 data = tmp.data;
 params_eff.data_request = 'static("ANG_M")';
-ang_m = gdat_tcv(shot,params_eff);
-ang_m_desc = params_eff.data_request;
+% ang_m = gdat_tcv(shot,params_eff);
+% ang_m_desc = params_eff.data_request;
 
+%TODO find this either in the static or the magnetics tree.
 % from mapping file from Holger:
 probes_name={ '001' '002' '003' '004' '005' '006' '007' '008' '009' '010' '011' '012' '013' '014' '015' '016' '017' '018' '019' ...
              '020' '021' '022' '023' '024' '025' '026' '027' '028' '029' '030' '031' '032' '033' '034' '035' '036' '037' '038'};
@@ -46,6 +47,7 @@ probes_length = [2.400000D-02, 2.400000D-02, 2.400000D-02, 2.400000D-02, 2.40000
 % Preallocate output structure
 Nprobes = size(tmp.data,2);
 sub_ids_struct_out(1:Nprobes) = ids_structures;
+sub_ids_struct_out_description = cell(1,Nprobes);
 
 for ii=1:Nprobes
     sub_ids_struct_out{ii}.name  = [names{ii}];
@@ -62,7 +64,7 @@ for ii=1:Nprobes
     params_eff.data_request = ['static("ANG_M")[$1]'',''' sub_ids_struct_out{ii}.name ''];
     aa =  gdat_tcv(shot,params_eff);
     sub_ids_struct_out{ii}.poloidal_angle  = -aa.data;
-    ij=strmatch(names{ii},probes_name);
+    ij=strcmp(names{ii},probes_name);
     sub_ids_struct_out{ii}.area = probes_area(ij);
     sub_ids_struct_out{ii}.length = probes_length(ij);
     sub_ids_struct_out_description{ii}.poloidal_angle  = ['from ' aa.data_fullpath];
@@ -71,13 +73,13 @@ for ii=1:Nprobes
     sub_ids_struct_out_description{ii}.length = 'from array in machine description file';
 end
 
-fixed_error = 0.009999999776483;
+fixed_error = 0.01;
 switch error_bar
  case 'delta'
   for ii=1:Nprobes
     sub_ids_struct_out{ii}.field.data_error_upper = fixed_error.*ones(size(sub_ids_struct_out{ii}.field.data));% TO BE FOUND;
     sub_ids_struct_out_description{ii}.field_data_error_upper = ['from fixed error value in case ' error_bar];
-    sub_ids_struct_out_description{ii}.field_data_error_lower = ['not provided since symmetric'];
+    sub_ids_struct_out_description{ii}.field_data_error_lower = 'not provided since symmetric';
   end
  case 'delta_with_lower'
   for ii=1:Nprobes
diff --git a/matlab/TCV_IMAS/tcv_ids_flux_loop.m b/matlab/TCV_IMAS/tcv_ids_flux_loop.m
index 5ba7c87c35a45bd1797527370a5d3f4b050290d8..fdd8f1315badc9a7f43454ac788f6e5da1c7ecf1 100644
--- a/matlab/TCV_IMAS/tcv_ids_flux_loop.m
+++ b/matlab/TCV_IMAS/tcv_ids_flux_loop.m
@@ -11,17 +11,17 @@ function [sub_ids_struct_out,sub_ids_struct_out_description] = tcv_ids_flux_loop
 %
 
 error_bar = 'delta';
-if exist('gdat_params') && isfield(gdat_params,'error_bar') && ~isempty(gdat_params.error_bar)
+if exist('gdat_params','var') && isfield(gdat_params,'error_bar') && ~isempty(gdat_params.error_bar)
   error_bar = gdat_params.error_bar;
 end
 params_eff_ref = gdat_params; params_eff_ref.doplot=0;
-try;params_eff_ref=rmfield(params_eff_ref,'source');catch;end % make sure no source (from ids def)
+try params_eff_ref=rmfield(params_eff_ref,'source');catch;end % make sure no source (from ids def)
 
 % Get data
 params_eff = params_eff_ref;
 params_eff.data_request = 'tcv_idealloop("FLUX")';
 tmp = gdat_tcv(shot,params_eff);
-tmp_desc = params_eff.data_request;
+% tmp_desc = params_eff.data_request;
 names = tmp.dim{2};
 time = tmp.dim{1};
 data = tmp.data;
@@ -29,6 +29,7 @@ data = tmp.data;
 % Preallocate output structure
 Nprobes = size(tmp.data,2);
 sub_ids_struct_out(1:Nprobes) = ids_structures;
+sub_ids_struct_out_description = cell(1,Nprobes);
 
 % Put data on ids structure
 for ii=1:Nprobes
@@ -38,21 +39,20 @@ for ii=1:Nprobes
     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}.position{1}.phi  = 0.;
-    sub_ids_struct_out_description{ii}.position_phi  = ['assumed 0'];
+%     sub_ids_struct_out{ii}.position{1}.phi  = 0.; % TO BE FOUND
+%     sub_ids_struct_out_description{ii}.position_phi  = 'assumed 0';
     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}.flux.time  =  time;
-    % sub_ids_struct_out{ii}.position.phi  =  0; % TO BE FOUND
 end
 
-fixed_error = 0.001200000056997;
+fixed_error = 0.0012*2*pi; % Convert old LIUQE error to Webers
 switch error_bar
  case 'delta'
   for ii=1:Nprobes
     sub_ids_struct_out{ii}.flux.data_error_upper = fixed_error.*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'];
+    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 'delta_with_lower'
diff --git a/matlab/TCV_IMAS/tcv_ids_ip.m b/matlab/TCV_IMAS/tcv_ids_ip.m
index fe1e786ec5b28dc2daaf9eddfd422c1f33251309..dd89754216d7a015f53d8e1b1b66418328e0bf88 100644
--- a/matlab/TCV_IMAS/tcv_ids_ip.m
+++ b/matlab/TCV_IMAS/tcv_ids_ip.m
@@ -11,22 +11,22 @@ function [ids_struct_out,ids_struct_out_description] = tcv_ids_ip(shot, ids_stru
 %
 
 error_bar = 'delta';
-if exist('gdat_params') && isfield(gdat_params,'error_bar') && ~isempty(gdat_params.error_bar)
+if exist('gdat_params','var') && isfield(gdat_params,'error_bar') && ~isempty(gdat_params.error_bar)
   error_bar = gdat_params.error_bar;
 end
 params_eff_ref = gdat_params; params_eff_ref.doplot=0;
-try;params_eff_ref=rmfield(params_eff_ref,'source');catch;end % make sure no source (from ids def)
+try params_eff_ref=rmfield(params_eff_ref,'source');catch;end % make sure no source (from ids def)
 
 % Get data
 params_eff = params_eff_ref;
 params_eff.data_request = 'ip_trapeze';
 tmp = gdat_tcv(shot,params_eff);
-tmp_desc = params_eff.data_request;
+% tmp_desc = params_eff.data_request;
 time = tmp.dim{1};
 data = tmp.data;
 params_eff.data_request = '\results::dmlcor';
 tmpdml = gdat_tcv(shot,params_eff);
-tmpdml_desc = params_eff.data_request;
+% tmpdml_desc = params_eff.data_request;
 
 % Preallocate dimension
 ids_struct_out = ids_structures;
@@ -40,16 +40,16 @@ ids_struct_out{1}.diamagnetic_flux.data = tmpdml.data;
 ids_struct_out_description{1}.diamagnetic_flux = ['from ' tmpdml.data_fullpath];
 ids_struct_out{1}.diamagnetic_flux.time = tmpdml.t;
 
-fixed_error_ip = 2.4e3;
-fixed_error_diamagnetic_flux = 0.01;
+fixed_error_ip = 24e3;
+fixed_error_diamagnetic_flux = 0.13e-3;
 switch error_bar
  case 'delta'
   ids_struct_out{1}.ip.data_error_upper = fixed_error_ip.*ones(size(ids_struct_out{1}.ip.data));
   ids_struct_out_description{1}.ip_data_error_upper = ['from fixed error value in case ' error_bar];
-  ids_struct_out_description{1}.ip_data_error_lower = ['not provided since symmetric'];
+  ids_struct_out_description{1}.ip_data_error_lower = 'not provided since symmetric';
   ids_struct_out{1}.diamagnetic_flux.data_error_upper = fixed_error_diamagnetic_flux.*ones(size(ids_struct_out{1}.diamagnetic_flux.data));
   ids_struct_out_description{1}.diamagnetic_flux_data_error_upper = ['from fixed error value in case ' error_bar];
-  ids_struct_out_description{1}.diamagnetic_flux_data_error_lower = ['not provided since symmetric'];
+  ids_struct_out_description{1}.diamagnetic_flux_data_error_lower = 'not provided since symmetric';
  case 'delta_with_lower'
   ids_struct_out{1}.ip.data_error_upper = fixed_error_ip.*ones(size(ids_struct_out{1}.ip.data));
   ids_struct_out{1}.ip.data_error_lower = ids_struct_out{1}.ip.data_error_upper;