diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m
index fda7a801c21e87218c88222b3a80b122f40a79a4..6f1d4ca357eae595f3045a08fa2bd732480e56f1 100644
--- a/matlab/TCV/gdat_tcv.m
+++ b/matlab/TCV/gdat_tcv.m
@@ -829,23 +829,29 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
       if strcmp(lower(gdat_data.gdat_params.source),'iphi')
         nodenameeff=['\magnetics::iphi'];
         tracetdi=tdi(nodenameeff);
-        gdat_data.data=192.E-07 * 0.996 *tracetdi.data/r0exp;
+        added_correction = 0.996; % correction already in liuqe.f
+        added_correction_str = ['96*mu0/2piR0 * ' num2str(added_correction) ' * '];
+        gdat_data.data=192.E-07 * added_correction *tracetdi.data/r0exp;
       else
         if liuqe_matlab==0
+          added_correction = 1.0; % correction already in liuqe.f
+          added_correction_str = [''];
           nodenameeff = ['tcv_eq(''BZERO'',''LIUQE' substr_liuqe_tcv_eq ''')'];
         else
           if isempty(substr_liuqe); substr_liuqe = '_1'; end
           nodenameeff=['tcv_eq(''BZERO'',''LIUQE.M' substr_liuqe_tcv_eq ''')'];
+          added_correction = 0.996; % correction removed in liuqe.m at this stage
+          added_correction_str = [num2str(added_correction) ' * '];
         end
         tracetdi=tdi(nodenameeff);
-        gdat_data.data = tracetdi.data;
+        gdat_data.data = tracetdi.data .* added_correction;
       end
     end
     if isempty(tracetdi.data) || isempty(tracetdi.dim) % || ischar(tracetdi.data) (to add?)
       if (gdat_params.nverbose>=1); warning(['problems loading data for ' nodenameeff ' for data_request= ' data_request_eff]); end
       return
     end
-    gdat_data.data_fullpath=[nodenameeff];
+    gdat_data.data_fullpath=[added_correction_str nodenameeff];
     gdat_data.dim = tracetdi.dim;
     gdat_data.t = gdat_data.dim{1};
     if any(strcmp(fieldnames(tracetdi),'units'))
@@ -862,7 +868,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
     end
 
     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-   case {'betan'}
+   case {'betan', 'beta_tor_norm'}
     % 100*beta / |Ip[MA] * B0[T]| * a[m]
     % get B0 from gdat_tcv, without re-opening the shot and using the same parameters except data_request
     % easily done thanks to structure call for options
@@ -1260,9 +1266,49 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
     gdat_data.request_description = ['data=psi, x=(R,Z), eqdsk contains eqdsk structure with which ' ...
                     'plot_eqdsk, write_eqdsk, read_eqdsk can be used'];
 
+    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   case {'gas', 'gas_flux', 'gas_request', 'gas_feedforward'}
+    params_eff = gdat_data.gdat_params;
+    params_eff.data_request = '\diagz::flux_gaz:piezo_1:flux';
+    gasflux = gdat_tcv(gdat_data.shot,params_eff);
+    gdat_data.gas_flux = gasflux;
+    params_eff.data_request = '\hybrid::mat_m_signals:output_019';
+    gasrequest = gdat_tcv(gdat_data.shot,params_eff);
+    gdat_data.gas_request_volt = gasrequest;
+    %volt_to_mlpers = max(0.,(in_volt-0.6879)*(72.41/(4.2673-0.6879))
+    gdat_data.gas_request_flux = gasrequest;
+    gdat_data.gas_request_flux.data = max(0.,72.41.*(gasrequest.data-0.6879)./(4.2673-0.6879));
+    gdat_data.gas_request_flux.units = gasflux.units;
+    params_eff.data_request = '\draw_feedfor_gas:alim_001';
+    gasrequest_ref = gdat_tcv(gdat_data.shot,params_eff); gasrequest_ref.units = 'V';
+    gdat_data.gas_feedforward_volt = gasrequest_ref;
+    gdat_data.gas_feedforward_flux = gasrequest_ref;
+    gdat_data.gas_feedforward_flux.data = max(0.,72.41.*(gasrequest_ref.data-0.6879)./(4.2673-0.6879));
+    gdat_data.label = data_request_eff;
+    switch data_request_eff
+      case {'gas', 'gas_flux'}
+       gdat_data.data = gdat_data.gas_flux.data;
+       gdat_data.units = gdat_data.gas_flux.units;
+       gdat_data.t = gdat_data.gas_flux.t;
+     case {'gas_request'}
+       gdat_data.data = gdat_data.gas_request_volt.data;
+       gdat_data.units = gdat_data.gas_request_volt.units;
+       gdat_data.t = gdat_data.gas_request_volt.t;
+     case {'gas_feedforward'}
+       gdat_data.data = gdat_data.gas_feedforward_volt.data;
+       gdat_data.units = gdat_data.gas_feedforward_volt.units;
+       gdat_data.t = gdat_data.gas_feedforward_volt.t;
+     otherwise
+      error('gas option not defined')
+    end
+    gdat_data.dim{1} = gdat_data.t;
+    gdat_data.dimunits{1} = 's';
+    if isfield(gdat_data.gdat_params,'time_out') && ~isempty(gdat_data.gdat_params.time_out)
+      [gdat_data] = gdat2time_out(gdat_data,1);
+    end
+
     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    case {'halphas'}
-  mapping.expression = '\base::pd:pd_001';
     channels = [1:18];
     if isfield(gdat_data.gdat_params,'channels') && ~isempty(gdat_data.gdat_params.channels)
       channels = gdat_data.gdat_params.channels;