diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m
index a6118f64c65737d25943d7f4ca4bed810cb82bea..23f322d4c4f8168ac1efce84c8c024ef3ca28335 100644
--- a/matlab/TCV/gdat_tcv.m
+++ b/matlab/TCV/gdat_tcv.m
@@ -91,6 +91,7 @@ gdat_params.doplot = 0;
 gdat_params.liuqe = 1;
 gdat_params.nverbose = 1;
 gdat_params.trialindx = [];
+gdat_params.ec_inputs = 0;
 
 % construct list of keywords from global set of keywords and specific TCV set
 % get data_request names from centralized table
@@ -1571,33 +1572,42 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
       data_fullpath = '';
       ec_help = '';
       % EC
-
+      
+      if gdat_data.gdat_params.ec_inputs
       % fill ec_inputs from write_pgyro
       [~,time,pgyro,pgyro_ecrh,gyro2launcher,freq2launcher,~,~] = write_pgyro(shot,'doplots',0);
 
-      ec_inputs.pgyro.data = pgyro;
-      ec_inputs.pgyro.t = time;
-      ec_inputs.pgyro.units = 'W';
-      ec_inputs.pgyro.label = 'Power injected per launcher ; last index is total';
-      ec_inputs.pgyro.x = 1:numel(pgyro(1,:));
-      ec_inputs.pgyro.dim = {ec_inputs.pgyro.x, ec_inputs.pgyro.t};
-      launchers_label = cellfun(@num2str, num2cell(1:size(pgyro,2)-1),'UniformOutput',false);
-      launchers_label{end+1} = 'tot';
-      ec_inputs.pgyro.dimunits = {launchers_label, 's'};
+        ec_inputs.pgyro.data = pgyro;
+        ec_inputs.pgyro.t = time;
+        ec_inputs.pgyro.units = 'W';
+        ec_inputs.pgyro.label = 'Power injected per launcher ; last index is total';
+        ec_inputs.pgyro.x = 1:numel(pgyro(1,:));
+        ec_inputs.pgyro.dim = {ec_inputs.pgyro.x, ec_inputs.pgyro.t};
+        launchers_label = cellfun(@num2str, num2cell(1:size(pgyro,2)-1),'UniformOutput',false);
+        launchers_label{end+1} = 'tot';
+        ec_inputs.pgyro.dimunits = {launchers_label, 's'};
 
-      ec_inputs.launchers_active.data = zeros(numel(pgyro_ecrh),1);
-      for ii =1:numel(pgyro_ecrh)
-        if ~isempty(pgyro_ecrh{ii}.data); ec_inputs.launchers_active.data(ii) = 1; end
-      end
-      ec_inputs.launchers_active.label = 'Active launchers in the shot (1:active, 0:inactive)';
+        ec_inputs.launchers_active.data = zeros(numel(pgyro_ecrh),1);
+        for ii =1:numel(pgyro_ecrh)
+          if ~isempty(pgyro_ecrh{ii}.data); ec_inputs.launchers_active.data(ii) = 1; end
+        end
+        ec_inputs.launchers_active.label = 'Active launchers in the shot (1:active, 0:inactive)';
 
-      ec_inputs.gyro2launcher.data = gyro2launcher;
-      ec_inputs.gyro2launcher.label = 'Gyrotron connected to launcher';
+        ec_inputs.gyro2launcher.data = gyro2launcher;
+        ec_inputs.gyro2launcher.label = 'Gyrotron connected to launcher';
 
-      ec_inputs.freq2launcher.data = freq2launcher;
-      ec_inputs.freq2launcher.label = 'Frequency in launcher';
-      ec_inputs.freq2launcher.units = 'Hz';
+        ec_inputs.freq2launcher.data = freq2launcher;
+        ec_inputs.freq2launcher.label = 'Frequency in launcher';
+        ec_inputs.freq2launcher.units = 'Hz';
 
+        ec_inputs.comment = 'ec_inputs loaded from write_pyro(shot)';
+      else
+        ec_inputs.pgyro = [];
+        ec_inputs.launchers_active = [];
+        ec_inputs.gyro2launcher = [];
+        ec_inputs.freq2launcher = [];
+        ec_inputs.comment = 'Run gdat with name-value pair (''ec_inputs'',1) for ec_input information from write_pgyro';
+      end
       gdat_data.ec.ec_inputs = ec_inputs;
 
       % introduce flag to check whether ec_data could be retrieved successfully