diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m
index da75ccc23d3497ea87fc4ea135d8d00b4a70ff0c..0478fbc4abddd0adab20e523f213b2f92a988086 100644
--- a/matlab/TCV/gdat_tcv.m
+++ b/matlab/TCV/gdat_tcv.m
@@ -1439,6 +1439,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         rethrow(ME);
       end
     end
+    % set default inputs if not given
     if ~isfield(gdat_data.gdat_params,'error_bar') || isempty(gdat_data.gdat_params.error_bar)
       gdat_data.gdat_params.error_bar = 'delta';
     end
@@ -1572,9 +1573,17 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
       % EC
       if strcmp(lower(source_icd.ec),'toray')
         if isempty(gdat_data.gdat_params.trialindx)
-          [pabs_gyro,icdtot,pow_dens,currentdrive_dens,rho_dep_pow,drho_pow,pmax,icdmax,currentdrive_dens_w2,rho_dep_icd,drho_icd] = astra_tcv_EC_exp(shot); % centralized function for toray nodes
+          % centralized function for toray nodes
+          [pabs_gyro,icdtot,pow_dens,currentdrive_dens,rho_dep_pow,drho_pow,...
+            pmax,icdmax,currentdrive_dens_w2,rho_dep_icd,drho_icd,...
+            ~,power_integrated,currentdrive_integrated] = ...
+            astra_tcv_EC_exp(shot,[],[],[],[],[],[],1);
         else
-          [pabs_gyro,icdtot,pow_dens,currentdrive_dens,rho_dep_pow,drho_pow,pmax,icdmax,currentdrive_dens_w2,rho_dep_icd,drho_icd] = astra_tcv_EC_exp(shot,[],[],[],[],[],gdat_data.gdat_params.trialindx); % centralized function for toray nodes
+          % centralized function for toray nodes
+          [pabs_gyro,icdtot,pow_dens,currentdrive_dens,rho_dep_pow,drho_pow,...
+            pmax,icdmax,currentdrive_dens_w2,rho_dep_icd,drho_icd,...
+            ~,power_integrated,currentdrive_integrated] = ...
+            astra_tcv_EC_exp(shot,[],[],[],[],[],gdat_data.gdat_params.trialindx,1);
         end
         if gdat_data.mapping_for.tcv.gdat_timedim ==2
           tgrid_to_change = {'pabs_gyro','icdtot','pow_dens','currentdrive_dens','rho_dep_pow','drho_pow','pmax', ...
@@ -1585,8 +1594,13 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         end
         ec_help = 'from toray icdint with extracting of effective Icd for given launcher depending on nb rays used';
         % All EC related quantities, each substructure should have at least fields data,x,t,units,dim,dimunits,label to be copied onto gdat_data
-        launchers_label = {'1','2','3','4','5','6','7','8','9','tot'};
-        launchers_grid = [1:10]';
+        if size(pabs_gyro.data,1)>9
+          launchers_label = {'1','2','3','4','5','6','7','8','9','10','11','tot'};
+        else
+          launchers_label = {'1','2','3','4','5','6','7','8','9','tot'};
+        end
+        launchers_grid = [1:size(pabs_gyro.data,1)+1]';
+        
         % power deposition related:
         ec_data.p_abs_plasma.data = pabs_gyro.data * 1e6;
         ec_data.p_abs_plasma.data(end+1,:) = sum(ec_data.p_abs_plasma.data,1,'omitnan');
@@ -1607,6 +1621,16 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         ec_data.p_dens.dim = {ec_data.p_dens.x, launchers_grid, ec_data.p_dens.t};
         ec_data.p_dens.dimunits = {'rhotor_norm', launchers_label, 's'};
         %
+        ec_data.p_integrated.data = power_integrated.data * 1e6;
+        ec_data.p_integrated.data(:,end+1,:) = sum(ec_data.p_integrated.data,2,'omitnan');
+        ec_data.p_integrated.label = [strrep(power_integrated.comment,'MW','W') ' ; last index is total'];
+        ec_data.p_integrated.units = 'W';
+        ec_data.p_integrated.x = power_integrated.rgrid';
+        ec_data.p_integrated.rhotor_norm = ec_data.p_integrated.x;
+        ec_data.p_integrated.t = power_integrated.tgrid;
+        ec_data.p_integrated.dim = {ec_data.p_integrated.x, launchers_grid, ec_data.p_integrated.t};
+        ec_data.p_integrated.dimunits = {'rhotor_norm', launchers_label, 's'};
+        %
         ec_data.max_pow_dens.data = pmax.data * 1e6;
         ec_data.max_pow_dens.label = strrep(pmax.comment,'MW','W');
         ec_data.max_pow_dens.units = 'W/m^3';
@@ -1630,6 +1654,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         ec_data.width_pow_dens.t = drho_pow.tgrid;
         ec_data.width_pow_dens.dim = {ec_data.width_pow_dens.t};
         ec_data.width_pow_dens.dimunits = {'s'};
+        
         % current drive deposition related:
         ec_data.cd_tot.data = icdtot.data * 1e6;
         ec_data.cd_tot.data(end+1,:) = sum(ec_data.cd_tot.data,1,'omitnan');
@@ -1648,7 +1673,17 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         ec_data.cd_dens.rhotor_norm = ec_data.cd_dens.x;
         ec_data.cd_dens.t = currentdrive_dens.tgrid;
         ec_data.cd_dens.dim = {ec_data.cd_dens.x, launchers_grid, ec_data.cd_dens.t};
-        ec_data.cd_dens.dimunits = {'rhotor_norm', launchers_label, 's'};
+        ec_data.cd_dens.dimunits = {'rhotor_norm', launchers_label, 's'};        
+        %
+        ec_data.cd_integrated.data = currentdrive_integrated.data * 1e6;
+        ec_data.cd_integrated.data(:,end+1,:) = sum(ec_data.cd_integrated.data,2,'omitnan');
+        ec_data.cd_integrated.label = [strrep(currentdrive_integrated.comment,'MA','A') ' ; last index is total'];
+        ec_data.cd_integrated.units = 'A';
+        ec_data.cd_integrated.x = currentdrive_integrated.rgrid';
+        ec_data.cd_integrated.rhotor_norm = ec_data.cd_integrated.x;
+        ec_data.cd_integrated.t = currentdrive_integrated.tgrid;
+        ec_data.cd_integrated.dim = {ec_data.cd_integrated.x, launchers_grid, ec_data.cd_integrated.t};
+        ec_data.cd_integrated.dimunits = {'rhotor_norm', launchers_label, 's'};
         %
         ec_data.max_cd_dens.data = icdmax.data * 1e6;
         ec_data.max_cd_dens.label = strrep(icdmax.comment,'MA','A');
@@ -1679,6 +1714,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         for subfields={'x','rhotor_norm','t','dim','dimunits','units'}
           ec_data.cd_dens_doublewidth.(subfields{1}) = ec_data.cd_dens.(subfields{1});
         end
+        
       else
         disp(['source_icd.ec = ' source_icd.ec ' not yet implemented, ask O. Sauter'])
         ec_data.p_abs_plasma = [];
@@ -1687,6 +1723,9 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         ec_data.p_dens = [];
         ec_data.p_dens(end+1,:) = [];
         ec_data.p_dens_label = [];
+        ec_data.p_integrated = [];
+        ec_data.p_integrated(end+1,:) = [];
+        ec_data.p_integrated_label = [];
         ec_data.max_pow_dens = [];
         ec_data.max_pow_dens_label = [];
         ec_data.rho_max_pow_dens = [];
@@ -1700,6 +1739,9 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         ec_data.cd_dens = [];
         ec_data.cd_dens(:,end+1,:) = [];
         ec_data.cd_dens_label = [];
+        ec_data.cd_integrated = [];
+        ec_data.cd_integrated(:,end+1,:) = [];
+        ec_data.cd_integrated_label = [];
         ec_data.max_cd_dens = [];
         ec_data.max_cd_dens_label = [];
         ec_data.rho_max_cd_dens = [];