diff --git a/matlab/TCV_IMAS/tcv_get_ids_core_sources.m b/matlab/TCV_IMAS/tcv_get_ids_core_sources.m
index 1ecd2167b47a00ae74b419065bed8a4e142c7867..3ef2c958c479b80db7f9267b149a84b3304060f6 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_core_sources.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_core_sources.m
@@ -322,14 +322,16 @@ if ~isempty(ec_gdat.ec.data) % if EC data available, fill sources
 
   % interpolate the rho_pol & rho_tor on ec_powers_tgrid
   interp_rho_pol = zeros(n_rho,nt_ec_out);
-  interp_rho_tor = zeros(n_rho,nt_ec_out);
+  interp_rho_tor = repmat(rho_tor_norm(:,1),1,nt_ec_out);
   for irho = 1:n_rho
     interp_rho_pol(irho,3:end-2) = interpos(21,ec_tgrid_toray,rho_pol_norm(irho,:),ec_tgrid_out(3:end-2));
-    interp_rho_tor(irho,3:end-2) = interpos(21,ec_tgrid_toray,rho_tor_norm(irho,:),ec_tgrid_out(3:end-2));
+    %interp_rho_tor(irho,3:end-2) = interpos(21,ec_tgrid_toray,rho_tor_norm(irho,:),ec_tgrid_out(3:end-2));
   end
   % fill rho_pol just outside of TORAY times(zero power) with the known profiles one time slice after/before
   interp_rho_pol(:,2) = interp_rho_pol(:,3); interp_rho_pol(:,end-1) = interp_rho_pol(:,end-2);
-
+  %interp_rho_tor(:,2) = interp_rho_tor(:,3); interp_rho_tor(:,end-1) = interp_rho_tor(:,end-2);
+  
+  
   % normalised & interpolated profiles * p_ec_injected on interp_tgrid
   interp_p_dens        = zeros(n_rho,nb_launchers+1,nt_ec_out);
   interp_p_integrated  = zeros(n_rho,nb_launchers+1,nt_ec_out);
@@ -347,6 +349,7 @@ if ~isempty(ec_gdat.ec.data) % if EC data available, fill sources
     for ii = 1:nt_ec_out
       % 1d_profiles
       ids_core_sources.source{last_index+i_lau}.profiles_1d{ii}.time = ec_tgrid_out(ii);
+      ids_core_sources.source{last_index+i_lau}.profiles_1d{ii}.grid.rho_tor_norm = interp_rho_tor(:,ii);
       % grids (do not fill for first and last time slice)
       if ii~=1 || ii~=nt_ec_out
         ids_core_sources.source{last_index+i_lau}.profiles_1d{ii}.grid.rho_tor_norm = interp_rho_tor(:,ii);
@@ -422,7 +425,7 @@ if numel(active_nbi)>0
       p_nbi_injected_tmp = interpos(nbi_powers_tgrid,powers_gdat.(nbi_names{i_nbi}).data,nbi_tgrid_out);
       for ii = 1:nt_nbi_out
         ids_core_sources.source{last_index+i_nbi}.profiles_1d{ii}.time = nbi_tgrid_out(ii);
-        ids_core_sources.source{last_index+i_nbi}.profiles_1d{ii}.rho_tor_norm = rho_test;
+        ids_core_sources.source{last_index+i_nbi}.profiles_1d{ii}.grid.rho_tor_norm = rho_test;
         % globals
         ids_core_sources.source{last_index+i_nbi}.global_quantities{ii}.time = nbi_tgrid_out(ii);
         ids_core_sources.source{last_index+i_nbi}.global_quantities{ii}.power = p_nbi_injected_tmp(ii);
@@ -463,7 +466,7 @@ if ~isempty(powers_gdat.dnbi)
     p_dnbi_injected = interpos(dnbi_powers_tgrid,powers_gdat.dnbi.data,dnbi_tgrid_out);
     for ii = 1:nt_dnbi_out
       ids_core_sources.source{last_index+1}.profiles_1d{ii}.time = dnbi_tgrid_out(ii);
-      ids_core_sources.source{last_index+1}.profiles_1d{ii}.rho_tor_norm = rho_test;
+      ids_core_sources.source{last_index+1}.profiles_1d{ii}.grid.rho_tor_norm = rho_test;
       % globals
       ids_core_sources.source{last_index+1}.global_quantities{ii}.time = dnbi_tgrid_out(ii);
       ids_core_sources.source{last_index+1}.global_quantities{ii}.power = p_dnbi_injected(ii);