diff --git a/crpptbx/AUG/aug_help_parameters.m b/crpptbx/AUG/aug_help_parameters.m
index 9a5663e8219837e5a68819b62d99398911708318..33acd39c327547ee36585a3ffd24e3dd8a5e7438 100644
--- a/crpptbx/AUG/aug_help_parameters.m
+++ b/crpptbx/AUG/aug_help_parameters.m
@@ -27,6 +27,7 @@ help_struct_all = struct(...
 % $$$ help_struct_all.time_interval = ['if provided sets a specific time interval [tstart tend].' ...
 % $$$                     char(10) 'cxrs: (time_interval can have several nbs) take data and average over time interval(s) only, plots from CXRS_get_profiles are then provided' ...
 % $$$                     ' as well'];
+help_struct_all.extra_arg_sf2sig = 'extra parameters given to sf2sig type of calls, should be effective full args in one string like extra_arg_sf2sig= ''''''-ed'''',2''';
 help_struct_all.fit_tension = ['smoothing value used in interpos fitting routine, -30 means ''30 times default value'', thus -1 often a' ...
                     ' good value' char(10) ...
 		    'cxrs, nete: if numeric, default for all cases, if structure, default for non given fields'];
diff --git a/crpptbx/AUG/gdat_aug.m b/crpptbx/AUG/gdat_aug.m
index 421301726668f8c71b53a6a610d7789becb821af..55f187c3e38388e90010bf71f2087f3326baff1f 100644
--- a/crpptbx/AUG/gdat_aug.m
+++ b/crpptbx/AUG/gdat_aug.m
@@ -48,6 +48,7 @@ function [gdat_data,gdat_params,error_status,varargout] = gdat_aug(shot,data_req
 %    a4=gdat('opt1',123,'opt2',[1 2 3],'shot',48832,'data_request','Ip','opt3','aAdB'); % all in pairs
 %    a5=gdat(32827,'ip'); % standard call
 %    a6=gdat(32827,'ip','Opt1',123,'Doplot',1,'opt2','Abc'); % standard call with a few options (note all lowercase in output)
+%    eqd = gdat(33134,'eqdsk','equil','IDE','time',2,'extra_arg_sf2sig','''-ed'',2');
 
 %
 % Comments for local developer:
@@ -197,10 +198,20 @@ if (nargin>=ivarargin_first_char)
   end
 end
 data_request_eff = gdat_params.data_request; % in case was defined in pairs
+% defaults for all
 % default equil:
 if ~isfield(gdat_params,'equil'); gdat_params.equil = 'EQI'; end
 if isfield(gdat_params,'source') && (any(strcmp(lower(gdat_params.source),'ide')) || any(strcmp(lower(gdat_params.source),'idg')) ...
-	  || any(strcmp(lower(gdat_params.source),'ida'))); gdat_params.equil = 'IDE'; end
+	  || any(strcmp(lower(gdat_params.source),'ida')))
+  gdat_params.equil = 'IDE';
+end
+extra_arg_sf2sig = '[]';
+if isfield(gdat_params,'extra_arg_sf2sig') && ~isempty(gdat_params.extra_arg_sf2sig)
+  extra_arg_sf2sig = gdat_params.extra_arg_sf2sig;
+else
+  gdat_params.extra_arg_sf2sig = extra_arg_sf2sig;
+end
+gdat_params.extra_arg_sf2sig = extra_arg_sf2sig;
 
 % if it is a request_keyword can obtain description:
 if ischar(data_request_eff) || length(data_request_eff)==1
@@ -276,11 +287,11 @@ if strcmp(mapping_for_aug.method,'signal')
   % time interval
   time_interval = [];
   % extra args for sf2sig
-  extra_arg_sf2sig = [];
   if length(mapping_for_aug.expression)>=4 && ~isempty(mapping_for_aug.expression{4})
-    extra_arg_sf2sig = mapping_for_aug.expression{4};
+    gdat_data.gdat_params.extra_arg_sf2sig = mapping_for_aug.expression{4};
   end
-  [aatmp,error_status]=rdaAUG_eff(shot,mapping_for_aug.expression{1},mapping_for_aug.expression{2},exp_location,time_interval,extra_arg_sf2sig);
+  [aatmp,error_status]=rdaAUG_eff(shot,mapping_for_aug.expression{1},mapping_for_aug.expression{2},exp_location, ...
+	  time_interval,gdat_data.gdat_params.extra_arg_sf2sig);
   if error_status~=0
     if gdat_params.nverbose>=3; disp(['error after rdaAUG in signal with data_request_eff= ' data_request_eff]); end
     return
@@ -439,7 +450,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     diag_name = gdat_data.gdat_params.source;
     % R, Z positions of measurements
     try
-      [r_time]=sf2ab(diag_name,shot,r_node,'-exp',exp_name_eff);
+      eval(['[r_time]=sf2ab(diag_name,shot,r_node,''-exp'',exp_name_eff,' gdat_data.gdat_params.extra_arg_sf2sig ');']);
     catch ME_R_time
       % assume no shotfile
       getReport(ME_R_time,'basic');
@@ -448,11 +459,11 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     gdat_data.r = r_time.value{1};
     inotok=find(gdat_data.r<=0);
     gdat_data.r(inotok) = NaN;
-    [z_time]=sf2ab(diag_name,shot,z_node,'-exp',exp_name_eff);
+    eval(['[z_time]=sf2ab(diag_name,shot,z_node,''-exp'',exp_name_eff,' gdat_data.gdat_params.extra_arg_sf2sig ');']);
     gdat_data.z = z_time.value{1};
     inotok=find(gdat_data.z<=0);
     gdat_data.z(inotok) = NaN;
-    [time]=sf2tb(diag_name,shot,'time','-exp',exp_name_eff);
+    eval(['[time]=sf2tb(diag_name,shot,''time'',''-exp'',exp_name_eff,' gdat_data.gdat_params.extra_arg_sf2sig ');']);
     gdat_data.t = time.value;
     gdat_data.dim{1} = {gdat_data.r , gdat_data.z};
     gdat_data.dimunits{1} = 'R, Z [m]';
@@ -460,7 +471,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     gdat_data.dimunits{2} = 't [s]';
     gdat_data.x = gdat_data.dim{1};
     % vrot
-    [a,error_status]=rdaAUG_eff(shot,diag_name,'vrot',exp_name_eff);
+    [a,error_status]=rdaAUG_eff(shot,diag_name,'vrot',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     if isempty(a.data) || isempty(a.t) || error_status>0
       if gdat_params.nverbose>=3;
 	a
@@ -471,13 +482,13 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     if any(strcmp(fieldnames(a),'units')); gdat_data.vrot.units=a.units; end
     if any(strcmp(fieldnames(a),'name')); gdat_data.vrot.name=a.name; end
     gdat_data.vrot.label = 'vrot_tor';
-    [aerr,e]=rdaAUG_eff(shot,diag_name,'err_vrot',exp_name_eff);
+    [aerr,e]=rdaAUG_eff(shot,diag_name,'err_vrot',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     gdat_data.vrot.error_bar = aerr.data;
     % Ti
     %     [a,e]=rdaAUG_eff(shot,diag_name,'Ti',exp_name_eff);
     %     [aerr,e]=rdaAUG_eff(shot,diag_name,'err_Ti',exp_name_eff);
-    [a,e]=rdaAUG_eff(shot,diag_name,'Ti_c',exp_name_eff);
-    [aerr,e]=rdaAUG_eff(shot,diag_name,'err_Ti_c',exp_name_eff);
+    [a,e]=rdaAUG_eff(shot,diag_name,'Ti_c',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
+    [aerr,e]=rdaAUG_eff(shot,diag_name,'err_Ti_c',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     gdat_data.ti.data = a.data;
     gdat_data.data = a.data;
     gdat_data.label = [gdat_data.label '/Ti'];
@@ -656,8 +667,8 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
       exp_name_eff = 'ECED';
       gdat_data.gdat_params.exp_name = exp_name_eff;
     end
-    [a,e]=rdaAUG_eff(shot,diag_name,'Trad-A',exp_name_eff,time_interval);
-    % [a,e]=rdaAUG_eff(shot,diag_name,'Trad-A',exp_name_eff);
+    [a,e]=rdaAUG_eff(shot,diag_name,'Trad-A',exp_name_eff,time_interval,gdat_data.gdat_params.extra_arg_sf2sig);
+    % [a,e]=rdaAUG_eff(shot,diag_name,'Trad-A',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     inb_chord = size(a.data,1);
     if channels(1)<=0
       channels = [1:inb_chord];
@@ -676,11 +687,11 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     gdat_data.dimunits=[{'channels'} ; {'time [s]'}];
     if any(strcmp(fieldnames(a),'units')); gdat_data.units=a.units; end
     try
-      [aR,e]=rdaAUG_eff(shot,diag_name,'R-A',exp_name_eff,time_interval);
+      [aR,e]=rdaAUG_eff(shot,diag_name,'R-A',exp_name_eff,time_interval,gdat_data.gdat_params.extra_arg_sf2sig);
     catch
     end
     try
-      [aZ,e]=rdaAUG_eff(shot,diag_name,'z-A',exp_name_eff,time_interval);
+      [aZ,e]=rdaAUG_eff(shot,diag_name,'z-A',exp_name_eff,time_interval,gdat_data.gdat_params.extra_arg_sf2sig);
     catch
       disp(['problem with getting z-A in ' diag_name])
     end
@@ -785,7 +796,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     for itime=1:length(time_eqdsks)
       time_eff = time_eqdsks(itime);
       % use read_results updated to effectively obtain an eqdsk with sign correct with COCOS=2
-      [eqdskAUG, equil_all_t, equil_t_index]=geteqdskAUG(equil,time_eff,gdat_data.gdat_params.zshift,'source',gdat_data.gdat_params.equil);
+      [eqdskAUG, equil_all_t, equil_t_index]=geteqdskAUG(equil,time_eff,gdat_data.gdat_params.zshift,'source',gdat_data.gdat_params.equil,'extra_arg_sf2sig',gdat_data.gdat_params.extra_arg_sf2sig);
       eqdskAUG.fnamefull = fullfile(['/tmp/' getenv('USER')],['EQDSK_' num2str(shot) 't' num2str(time_eff,'%.4f')]);
       cocos_out = equil.cocos;
       if isfield(gdat_data.gdat_params,'cocos') && ~isempty(gdat_data.gdat_params.cocos)
@@ -834,7 +845,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     % get equil params and time array in gdat_data.t
     [gdat_data,exp_name_eff,DIAG,NTIME_Lpf,NTIME,Lpf1_t,Lpf_SOL,M_Rmesh,N_Zmesh] = get_EQ_params(gdat_data);
     % since Lpf depends on time, need to load all first and then loop over time for easier mapping
-    [qpsi,e]=rdaAUG_eff(shot,DIAG,'Qpsi',exp_name_eff);
+    [qpsi,e]=rdaAUG_eff(shot,DIAG,'Qpsi',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     ndimrho = size(qpsi.data,2);
     if ndimrho==NTIME_Lpf
       % data seems to be transposed
@@ -846,55 +857,55 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     qpsi=adapt_rda(qpsi,NTIME,ndimrho,itotransposeback);
     ijnan=find(isnan(qpsi.value));
     qpsi.value(ijnan)=0;
-    [psi_tree,e]=rdaAUG_eff(shot,DIAG,'PFL',exp_name_eff);
+    [psi_tree,e]=rdaAUG_eff(shot,DIAG,'PFL',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     psi_tree=adapt_rda(psi_tree,NTIME,ndimrho,itotransposeback);
-    [phi_tree,e]=rdaAUG_eff(shot,DIAG,'TFLx',exp_name_eff);
+    [phi_tree,e]=rdaAUG_eff(shot,DIAG,'TFLx',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     phi_tree=adapt_rda(phi_tree,NTIME,ndimrho,itotransposeback);
-    [Vol,e]=rdaAUG_eff(shot,DIAG,'Vol',exp_name_eff);
+    [Vol,e]=rdaAUG_eff(shot,DIAG,'Vol',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     Vol=adapt_rda(Vol,NTIME,2*ndimrho,itotransposeback);
-    [Area,e]=rdaAUG_eff(shot,DIAG,'Area',exp_name_eff);
+    [Area,e]=rdaAUG_eff(shot,DIAG,'Area',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     Area=adapt_rda(Area,NTIME,2*ndimrho,itotransposeback);
-    [Ri,e]=rdaAUG_eff(shot,DIAG,'Ri',exp_name_eff);
+    [Ri,e]=rdaAUG_eff(shot,DIAG,'Ri',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     Ri=adapt_rda(Ri,NTIME,M_Rmesh,itotransposeback);
-    [Zj,e]=rdaAUG_eff(shot,DIAG,'Zj',exp_name_eff);
+    [Zj,e]=rdaAUG_eff(shot,DIAG,'Zj',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     Zj=adapt_rda(Zj,NTIME,N_Zmesh,itotransposeback);
-    [PFM_tree,e]=rdaAUG_eff(shot,DIAG,'PFM','-raw','-exp',exp_name_eff); % -raw necessary for IDE
+    [PFM_tree,e]=rdaAUG_eff(shot,DIAG,'PFM',exp_name_eff,[],['''-raw'',' gdat_data.gdat_params.extra_arg_sf2sig]); % -raw necessary for IDE
     PFM_tree=adaptPFM_rda(PFM_tree,M_Rmesh,N_Zmesh,NTIME);
-    [Pres,e]=rdaAUG_eff(shot,DIAG,'Pres',exp_name_eff);
+    [Pres,e]=rdaAUG_eff(shot,DIAG,'Pres',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     Pres=adapt_rda(Pres,NTIME,2*ndimrho,itotransposeback);
-    [Jpol,e]=rdaAUG_eff(shot,DIAG,'Jpol',exp_name_eff);
+    [Jpol,e]=rdaAUG_eff(shot,DIAG,'Jpol',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     Jpol=adapt_rda(Jpol,NTIME,2*ndimrho,itotransposeback);
-    [FFP,e]=rdaAUG_eff(shot,DIAG,'FFP',exp_name_eff);
+    [FFP,e]=rdaAUG_eff(shot,DIAG,'FFP',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     if ~isempty(FFP.value)
       FFP=adapt_rda(FFP,NTIME,ndimrho,itotransposeback);
     else
       FFP.value=NaN*ones(NTIME,max(Lpf1_t));
     end
     if strcmp(DIAG,'EQI') || strcmp(DIAG,'EQH') || strcmp(DIAG,'IDE')
-      [Rinv,e]=rdaAUG_eff(shot,DIAG,'Rinv',exp_name_eff);
+      [Rinv,e]=rdaAUG_eff(shot,DIAG,'Rinv',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
       Rinv=adapt_rda(Rinv,NTIME,ndimrho,itotransposeback);
-      [R2inv,e]=rdaAUG_eff(shot,DIAG,'R2inv',exp_name_eff);
+      [R2inv,e]=rdaAUG_eff(shot,DIAG,'R2inv',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
       R2inv=adapt_rda(R2inv,NTIME,ndimrho,itotransposeback);
-      [Bave,e]=rdaAUG_eff(shot,DIAG,'Bave',exp_name_eff);
+      [Bave,e]=rdaAUG_eff(shot,DIAG,'Bave',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
       Bave=adapt_rda(Bave,NTIME,ndimrho,itotransposeback);
-      [B2ave,e]=rdaAUG_eff(shot,DIAG,'B2ave',exp_name_eff);
+      [B2ave,e]=rdaAUG_eff(shot,DIAG,'B2ave',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
       B2ave=adapt_rda(B2ave,NTIME,ndimrho,itotransposeback);
       if strcmp(DIAG,'IDE')
 	FTRA.value=[];
       else
-	[FTRA,e]=rdaAUG_eff(shot,DIAG,'FTRA',exp_name_eff);
+	[FTRA,e]=rdaAUG_eff(shot,DIAG,'FTRA',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
 	FTRA=adapt_rda(FTRA,NTIME,ndimrho,itotransposeback);
       end
     else
       Rinv.value=[]; R2inv.value=[]; Bave.value=[]; B2ave.value=[]; FTRA.value=[];
     end
-    [LPFx,e]=rdaAUG_eff(shot,DIAG,'LPFx',exp_name_eff);
+    [LPFx,e]=rdaAUG_eff(shot,DIAG,'LPFx',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     LPFx.value=LPFx.value(1:NTIME); LPFx.data=LPFx.value; LPFx.t=LPFx.t(1:NTIME);
-    [PFxx,e]=rdaAUG_eff(shot,DIAG,'PFxx',exp_name_eff);
+    [PFxx,e]=rdaAUG_eff(shot,DIAG,'PFxx',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     PFxx=adapt_rda(PFxx,NTIME,max(LPFx.value)+1,itotransposeback);
-    [RPFx,e]=rdaAUG_eff(shot,DIAG,'RPFx',exp_name_eff);
+    [RPFx,e]=rdaAUG_eff(shot,DIAG,'RPFx',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     RPFx=adapt_rda(RPFx,NTIME,max(LPFx.value)+1,itotransposeback);
-    [zPFx,e]=rdaAUG_eff(shot,DIAG,'zPFx',exp_name_eff);
+    [zPFx,e]=rdaAUG_eff(shot,DIAG,'zPFx',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     zPFx=adapt_rda(zPFx,NTIME,max(LPFx.value)+1,itotransposeback);
     % seems "LCFS" q-value is far too large, limit to some max (when diverted)
     max_qValue = 30.; % Note could just put a NaN on LCFS value since ill-defined when diverted
@@ -988,19 +999,19 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     end
     gdat_data.x = gdat_data.rhopolnorm;
     %
-    [equil_Rcoil,e]=rdaAUG_eff(shot,DIAG,'Rcl',exp_name_eff);
+    [equil_Rcoil,e]=rdaAUG_eff(shot,DIAG,'Rcl',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     gdat_data.Rcoils=equil_Rcoil.value;
-    [equil_Zcoil,e]=rdaAUG_eff(shot,DIAG,'Zcl',exp_name_eff);
+    [equil_Zcoil,e]=rdaAUG_eff(shot,DIAG,'Zcl',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     gdat_data.Zcoils=equil_Zcoil.value;
     %
     if strcmp(DIAG,'IDE')
-      [IpiPSI,e]=rdaAUG_eff(shot,'IDG','Itor',exp_name_eff);
+      [IpiPSI,e]=rdaAUG_eff(shot,'IDG','Itor',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
       if length(IpiPSI.value)~=NTIME
 	disp('Problem with nb time points of IDG/Itor with respect to IDE NTIME, check with O. Sauter')
 	return
       end
     else
-      [IpiPSI,e]=rdaAUG_eff(shot,DIAG,'IpiPSI',exp_name_eff);
+      [IpiPSI,e]=rdaAUG_eff(shot,DIAG,'IpiPSI',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     end
     gdat_data.Ip = IpiPSI.value(1:NTIME);
     %
@@ -1019,7 +1030,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     % ne or Te from Thomson data on raw z mesh vs (z,t)
     nodenameeff = [upper(data_request_eff(1)) 'e_c'];
     node_child_nameeff = [upper(data_request_eff(1)) 'e_core'];
-    [a,error_status]=rdaAUG_eff(shot,'VTA',nodenameeff,exp_name_eff);
+    [a,error_status]=rdaAUG_eff(shot,'VTA',nodenameeff,exp_name_eff),[],gdat_data.gdat_params.extra_arg_sf2sig;
     if isempty(a.data) || isempty(a.t) || error_status>0
       if gdat_params.nverbose>=3;
 	a
@@ -1033,12 +1044,12 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     if any(strcmp(fieldnames(a),'units'))
       gdat_data.units=a.units;
     end
-    [alow,e]=rdaAUG_eff(shot,'VTA',[upper(data_request_eff(1)) 'elow_c'],exp_name_eff);
-    [aup,e]=rdaAUG_eff(shot,'VTA',[upper(data_request_eff(1)) 'eupp_c'],exp_name_eff);
+    [alow,e]=rdaAUG_eff(shot,'VTA',[upper(data_request_eff(1)) 'elow_c'],exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
+    [aup,e]=rdaAUG_eff(shot,'VTA',[upper(data_request_eff(1)) 'eupp_c'],exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     gdat_data.(lower(node_child_nameeff)).error_bar = max(aup.value-gdat_data.(lower(node_child_nameeff)).data,gdat_data.(lower(node_child_nameeff)).data-alow.value);
-    [a,error_status]=rdaAUG_eff(shot,'VTA','R_core',exp_name_eff);
+    [a,error_status]=rdaAUG_eff(shot,'VTA','R_core',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     gdat_data.(lower(node_child_nameeff)).r = repmat(a.data,size(gdat_data.(lower(node_child_nameeff)).data,1),1);
-    [a,error_status]=rdaAUG_eff(shot,'VTA','Z_core',exp_name_eff);
+    [a,error_status]=rdaAUG_eff(shot,'VTA','Z_core',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     gdat_data.(lower(node_child_nameeff)).z = repmat(a.data',1,size(gdat_data.(lower(node_child_nameeff)).data,2));
     gdat_data.dimunits=[{'Z [m]'} ; {'time [s]'}];
     gdat_data.data_fullpath=[data_request_eff ' from VTA/' upper(data_request_eff(1)) 'e_c and ' upper(data_request_eff(1)) 'e_e'];
@@ -1051,22 +1062,22 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     % add edge part
     nodenameeff_e = [upper(data_request_eff(1)) 'e_e'];
     node_child_nameeff_e = [upper(data_request_eff(1)) 'e_edge'];
-    [a,error_status]=rdaAUG_eff(shot,'VTA',nodenameeff_e,exp_name_eff);
+    [a,error_status]=rdaAUG_eff(shot,'VTA',nodenameeff_e,exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     gdat_data.(lower(node_child_nameeff_e)).data = a.data;
     ij_edge_notok = find(a.data>5e21);
     gdat_data.(lower(node_child_nameeff_e)).data(ij_edge_notok) = NaN;
     gdat_data.(lower(node_child_nameeff_e)).t = a.t;
     if ~isempty(a.data)
-      [a,error_status]=rdaAUG_eff(shot,'VTA','R_edge',exp_name_eff);
+      [a,error_status]=rdaAUG_eff(shot,'VTA','R_edge',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
       gdat_data.(lower(node_child_nameeff_e)).r = repmat(a.data,size(gdat_data.(lower(node_child_nameeff_e)).data,1),1);
-      [a,error_status]=rdaAUG_eff(shot,'VTA','Z_edge',exp_name_eff);
+      [a,error_status]=rdaAUG_eff(shot,'VTA','Z_edge',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
       gdat_data.(lower(node_child_nameeff_e)).z = repmat(a.data',1,size(gdat_data.(lower(node_child_nameeff_e)).data,2));
       nb_edge = size(gdat_data.(lower(node_child_nameeff_e)).z,1);
       iaaa=iround_os(gdat_data.(lower(node_child_nameeff_e)).t,gdat_data.(lower(node_child_nameeff)).t);
       gdat_data.data(nb_core+1:nb_core+nb_edge,:) = gdat_data.(lower(node_child_nameeff_e)).data(1:nb_edge,iaaa);
       gdat_data.dim{1}(nb_core+1:nb_core+nb_edge,:)=gdat_data.(lower(node_child_nameeff_e)).z(1:nb_edge,iaaa);
-      [alow,e]=rdaAUG_eff(shot,'VTA',[upper(data_request_eff(1)) 'elow_e'],exp_name_eff);
-      [aup,e]=rdaAUG_eff(shot,'VTA',[upper(data_request_eff(1)) 'eupp_e'],exp_name_eff);
+      [alow,e]=rdaAUG_eff(shot,'VTA',[upper(data_request_eff(1)) 'elow_e'],exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
+      [aup,e]=rdaAUG_eff(shot,'VTA',[upper(data_request_eff(1)) 'eupp_e'],exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
       gdat_data.(lower(node_child_nameeff_e)).error_bar = max(aup.value-gdat_data.(lower(node_child_nameeff_e)).data, ...
 	  gdat_data.(lower(node_child_nameeff_e)).data-alow.value);
       gdat_data.error_bar(nb_core+1:nb_core+nb_edge,:) = gdat_data.(lower(node_child_nameeff_e)).error_bar(1:nb_edge,iaaa);
@@ -1351,7 +1362,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
 	end
       end
       try
-	a = sf2par('ECS',shot,'gyr_freq',['P_sy1_g' num2str(i)]);
+	eval(['a = sf2par(''ECS'',shot,''gyr_freq'',''P_sy1_g' num2str(i) ''',' gdat_data.gdat_params.extra_arg_sf2sig ');']);
       catch
 	% gyr_freq not present (old shots for example)
 	a=[];
@@ -1362,7 +1373,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
 	gdat_data.freq_ec(i) = a.value;
       end
       try
-	a = sf2par('ECS',shot,'GPolPos',['P_sy1_g' num2str(i)]);
+	eval(['a = sf2par(''ECS'',shot,''GPolPos'',''P_sy1_g' num2str(i) ''',' gdat_data.gdat_params.extra_arg_sf2sig ');']);
       catch
 	% GPolPos not present
 	a=[];
@@ -1373,7 +1384,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
 	gdat_data.polpos_ec(i) = a.value;
       end
       try
-	a = sf2par('ECS',shot,'GTorPos',['P_sy1_g' num2str(i)]);
+	eval(['a = sf2par(''ECS'',shot,''GTorPos'',''P_sy1_g' num2str(i) ''',' gdat_data.gdat_params.extra_arg_sf2sig ');']);
       catch
 	a=[];
       end
@@ -1395,7 +1406,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
 	end
       end
       try
-	a = sf2par('ECS',shot,'gyr_freq',['P_sy2_g' num2str(i)]);
+	eval(['a = sf2par(''ECS'',shot,''gyr_freq'',''P_sy2_g' num2str(i) ''',' gdat_data.gdat_params.extra_arg_sf2sig ');']);
       catch
 	a=[];
       end
@@ -1405,7 +1416,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
 	gdat_data.freq_ec(i+4) = a.value;
       end
       try
-	a = sf2par('ECS',shot,'GPolPos',['P_sy2_g' num2str(i)]);
+	eval(['a = sf2par(''ECS'',shot,''GPolPos'',''P_sy2_g' num2str(i) ''',' gdat_data.gdat_params.extra_arg_sf2sig ');']);
       catch
 	a=[];
       end
@@ -1415,7 +1426,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
 	gdat_data.polpos_ec(i+4) = a.value;
       end
       try
-	a = sf2par('ECS',shot,'GTorPos',['P_sy2_g' num2str(i)]);
+	eval(['a = sf2par(''ECS'',shot,''GTorPos'',''P_sy2_g' num2str(i) ''',' gdat_data.gdat_params.extra_arg_sf2sig ');']);
       catch
 	a=[];
       end
@@ -1640,7 +1651,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
    case {'q_rho'}
     [gdat_data,exp_name_eff,DIAG,NTIME_Lpf,NTIME,Lpf1_t,Lpf_SOL] = get_EQ_params(gdat_data);
     % since Lpf depends on time, need to load all first and then loop over time for easier mapping
-    [qpsi,e]=rdaAUG_eff(shot,DIAG,'Qpsi',exp_name_eff);
+    [qpsi,e]=rdaAUG_eff(shot,DIAG,'Qpsi',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     ndimrho = size(qpsi.data,2);
     if ndimrho==NTIME_Lpf
       % data seems to be transposed
@@ -1652,11 +1663,11 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     qpsi=adapt_rda(qpsi,NTIME,ndimrho,itotransposeback);
     ijnan=find(isnan(qpsi.value));
     qpsi.value(ijnan)=0;
-    [psi_tree,e]=rdaAUG_eff(shot,DIAG,'PFL',exp_name_eff);
+    [psi_tree,e]=rdaAUG_eff(shot,DIAG,'PFL',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     psi_tree=adapt_rda(psi_tree,NTIME,ndimrho,itotransposeback);
-    [phi_tree,e]=rdaAUG_eff(shot,DIAG,'TFLx',exp_name_eff);
+    [phi_tree,e]=rdaAUG_eff(shot,DIAG,'TFLx',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     phi_tree=adapt_rda(phi_tree,NTIME,ndimrho,itotransposeback);
-    [Vol,e]=rdaAUG_eff(shot,DIAG,'Vol',exp_name_eff);
+    [Vol,e]=rdaAUG_eff(shot,DIAG,'Vol',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     Vol=adapt_rda(Vol,NTIME,2*ndimrho,itotransposeback);
     % seems "LCFS" q-value is far too large, limit to some max (when diverted)
     max_qValue = 30.; % Note could just put a NaN on LCFS value since ill-defined when diverted
@@ -1741,7 +1752,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     else
       [gdat_data,exp_name_eff,DIAG,NTIME_Lpf,NTIME,Lpf1_t,Lpf_SOL] = get_EQ_params(gdat_data);
       % since Lpf depends on time, need to load all first and then loop over time for easier mapping
-      [psi_tree,e]=rdaAUG_eff(shot,DIAG,'PFL',exp_name_eff);
+      [psi_tree,e]=rdaAUG_eff(shot,DIAG,'PFL',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
       ndimrho = size(psi_tree.data,2);
       if ndimrho==NTIME_Lpf
 	% data seems to be transposed
@@ -1782,7 +1793,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     end
     [gdat_data,exp_name_eff,DIAG,NTIME_Lpf,NTIME,Lpf1_t,Lpf_SOL] = get_EQ_params(gdat_data);
     % since Lpf depends on time, need to load all first and then loop over time for easier mapping
-    [phi_tree,e]=rdaAUG_eff(shot,DIAG,'TFLx',exp_name_eff);
+    [phi_tree,e]=rdaAUG_eff(shot,DIAG,'TFLx',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     ndimrho = size(phi_tree.data,2);
     if ndimrho==NTIME_Lpf
       % data seems to be transposed
@@ -1794,9 +1805,9 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     phi_tree=adapt_rda(phi_tree,NTIME,ndimrho,itotransposeback);
     ijnan=find(isnan(phi_tree.value));
     phi_tree.value(ijnan)=0;
-    [Vol,e]=rdaAUG_eff(shot,DIAG,'Vol',exp_name_eff);
+    [Vol,e]=rdaAUG_eff(shot,DIAG,'Vol',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     Vol=adapt_rda(Vol,NTIME,2*ndimrho,itotransposeback);
-    [psi_tree,e]=rdaAUG_eff(shot,DIAG,'PFL',exp_name_eff);
+    [psi_tree,e]=rdaAUG_eff(shot,DIAG,'PFL',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
     psi_tree=adapt_rda(psi_tree,NTIME,ndimrho,itotransposeback);
     %
     switch data_request_eff
@@ -1933,7 +1944,8 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     for i=1:length(gdat_data.gdat_params.camera)
       if ischar(gdat_data.gdat_params.freq) && strcmp(gdat_data.gdat_params.freq,'slow'); chords_ok_diags(i).diag = 'SSX'; end
       if ~isempty(chords_ok_diags(i).diag) && ~isempty(chords_ok_diags(i).chord)
-	[a,e]=rdaAUG_eff(shot,chords_ok_diags(i).diag,chords_ok_diags(i).chord,exp_name_eff,gdat_data.gdat_params.time_interval);
+	[a,e]=rdaAUG_eff(shot,chords_ok_diags(i).diag,chords_ok_diags(i).chord,exp_name_eff, ...
+	  gdat_data.gdat_params.time_interval,gdat_data.gdat_params.extra_arg_sf2sig);
       else
 	a.data = [];
 	a.t = [];
@@ -1991,14 +2003,16 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
     for i=1:size(transp_sig,1)
       if strcmp(lower(transp_sig{i,2}),'signal') || strcmp(lower(transp_sig{i,2}),'signal-group')
 	try
-	  eval(['[gdat_data.' transp_sig{i,1} ',e]=rdaAUG_eff(shot,diagname,''' transp_sig{i,1} ''',shotfile_exp_eff);']);
+	  abcd = rdaAUG_eff(shot,diagname,transp_sig{i,1},shotfile_exp_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
+	  eval(['gdat_data.' transp_sig{i,1} '= abcd;']);
+	  % eval(['[gdat_data.' transp_sig{i,1} ',e]=rdaAUG_eff(shot,diagname,''' transp_sig{i,1} ''',shotfile_exp_eff);']);
 	catch
 	  eval(['gdat_data.' transp_sig{i,1} '=[];']);
 	end
       elseif strcmp(lower(transp_sig{i,2}),'area-base')
 	clear adata_area
 	try
-	  [adata_area]=sf2ab(diagname,shot,transp_sig{i,1},'-exp',shotfile_exp_eff);
+	  eval(['[adata_area]=sf2ab(diagname,shot,transp_sig{i,1},''-exp'',shotfile_exp_eff,' gdat_data.gdat_params.extra_arg_sf2sig  ');']);
 	catch
 	  adata_area.value = cell(0);
 	end
@@ -2006,7 +2020,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase')
       elseif strcmp(lower(transp_sig{i,2}),'time-base')
 	clear adata_time
 	try
-	  [adata_time]=sf2tb(diagname,shot,transp_sig{i,1},'-exp',shotfile_exp_eff);
+	  eval(['[adata_time]=sf2tb(diagname,shot,transp_sig{i,1},''-exp'',shotfile_exp_eff,shotfile_exp_eff,' gdat_data.gdat_params.extra_arg_sf2sig ');']);
 	catch
 	  adata_time.value = cell(0);
 	end
@@ -2051,13 +2065,13 @@ shot=gdat_data.shot;
 exp_name_eff = gdat_data.gdat_params.exp_name;
 gdat_data.gdat_params.equil = upper(gdat_data.gdat_params.equil);
 DIAG = gdat_data.gdat_params.equil; % 'EQI' by default at this stage, should become EQH?
-M_Rmesh_par = sf2par(DIAG,shot,'M','PARMV');
+eval(['M_Rmesh_par = sf2par(DIAG,shot,''M'',''PARMV'',' gdat_data.gdat_params.extra_arg_sf2sig ');']);
 M_Rmesh = M_Rmesh_par.value + 1; % nb of points
-N_Zmesh_par = sf2par(DIAG,shot,'N','PARMV');
+eval(['N_Zmesh_par = sf2par(DIAG,shot,''N'',''PARMV'',' gdat_data.gdat_params.extra_arg_sf2sig ');']);
 N_Zmesh = N_Zmesh_par.value + 1; % nb of points
-NTIME_par = sf2par(DIAG,shot,'NTIME','PARMV');
+eval(['NTIME_par = sf2par(DIAG,shot,''NTIME'',''PARMV'',' gdat_data.gdat_params.extra_arg_sf2sig ');']);
 NTIME = NTIME_par.value; % nb of points
-Lpf_par = rdaAUG_eff(shot,DIAG,'Lpf',exp_name_eff);
+Lpf_par = rdaAUG_eff(shot,DIAG,'Lpf',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
 % since June, nb of time points in EQ results is not consistent with NTIME and time
 % It seems the first NTIME points are correct, so use this explicitely
 NTIME_Lpf = length(Lpf_par.value);
@@ -2074,5 +2088,5 @@ Lpf_tot = Lpf_par.value(1:NTIME); % nb of points: 100000*nb_SOL points + nb_core
 Lpf_SOL = fix(Lpf_tot/100000);
 Lpf1_t = mod(Lpf_tot,100000)+1; % nb of Lpf points
 
-[equil_time,e]=rdaAUG_eff(shot,DIAG,'time',exp_name_eff);
+[equil_time,e]=rdaAUG_eff(shot,DIAG,'time',exp_name_eff,[],gdat_data.gdat_params.extra_arg_sf2sig);
 gdat_data.t = equil_time.value(1:NTIME);
diff --git a/crpptbx/AUG/geteqdskAUG.m b/crpptbx/AUG/geteqdskAUG.m
index 83dd2d242e8f0a021d4f3e9a4710d13bc49f119c..2211948d58311116962b7d6a29cf77d352690983 100644
--- a/crpptbx/AUG/geteqdskAUG.m
+++ b/crpptbx/AUG/geteqdskAUG.m
@@ -5,6 +5,7 @@ function [eqdskAUG, equil_all_t, equil_t_index]=geteqdskAUG(shot,time,zshift,var
 % if shot is a structure assumes obtained from gdat(shot,'equil',...);
 %
 % varargin{1:2}: 'source','EQI' (default) or 'source','IDE'  (used in gdat(...,'equil') )
+% varargin{3:4}: 'extra_arg_sf2sig','[]' (default) or 'extra_arg_sf2sig','''-ed'',2'
 %
 % [eqdskAUG, equil_all_t, equil_t_index]=geteqdskAUG(shot,time);
 % [eqdskAUG, equil_all_t, equil_t_index]=geteqdskAUG(shot,time,[],'source','IDE');
@@ -32,7 +33,7 @@ else
   zshift_eff = zshift;
 end
 
-if nargin >= 5 && ~isempty(varargin{1})
+if nargin >= 5 && ~isempty(varargin{1}) && strcmp(lower(varargin{1}),'source')
   if ~isempty(varargin{2})
     equil_source = varargin{2}
   else
@@ -45,8 +46,19 @@ end
 equilpar_source = 'FPG';
 if strcmp(lower(equil_source),'ide');   equilpar_source = 'IDG'; end
 
+if nargin >= 7 && ~isempty(varargin{3}) && strcmp(lower(varargin{3}),'extra_arg_sf2sig')
+  if ~isempty(varargin{4})
+    extra_arg_sf2sig = varargin{4}
+  else
+    disp(['Warning extra_arg_sf2sig in geteqdskAUG not defined']);
+    return;
+  end
+else
+  extra_arg_sf2sig = '[]';
+end
+
 if isnumeric(shot)
-  equil=gdat(shot,'equil','equil',equil_source);
+  equil=gdat(shot,'equil','equil',equil_source,'extra_arg_sf2sig',extra_arg_sf2sig);
 else
   equil = shot;
   shot = equil.shot;
@@ -96,10 +108,10 @@ fedge=eqdsk.r0.*eqdsk.b0;
 F2 = psisign.*2.*F2_05 + fedge.^2;
 eqdsk.F = sqrt(F2)*sign(eqdsk.b0);
 
-rmag=gdat(shot,'rmag','source',equilpar_source);
+rmag=gdat(shot,'rmag','source',equilpar_source,'extra_arg_sf2sig',extra_arg_sf2sig);
 [zz itrmag]=min(abs(rmag.t-time_eff));
 eqdsk.raxis = rmag.data(itrmag);
-zmag=gdat(shot,'zmag','source',equilpar_source);
+zmag=gdat(shot,'zmag','source',equilpar_source,'extra_arg_sf2sig',extra_arg_sf2sig);
 eqdsk.zaxis = zmag.data(itrmag) - eqdsk.zshift;
 
 % get plasma boundary