diff --git a/crpptbx/JET/gdat_jet.m b/crpptbx/JET/gdat_jet.m
index 54fa7dd26bffa58306b2e3248853707b15e5e952..ac94bd395e91284a9fdfab9d3ceb44741c6cd9eb 100644
--- a/crpptbx/JET/gdat_jet.m
+++ b/crpptbx/JET/gdat_jet.m
@@ -1126,29 +1126,30 @@ elseif strcmp(mapping_for_jet.method,'switchcase')
     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    case {'q_rho'}
     % q profile on psi from liuqe
-    nodenameeff=['\results::q_psi' substr_liuqe];
-    if liuqe_version==-1
-      nodenameeff=[begstr 'q_psi' substr_liuqe];
+    nodenameeff=[{'ppf'},{'EFIT'},{'Q'}];
+    ppftype = nodenameeff{1};
+    tracename = [nodenameeff{2} '/' nodenameeff{3}];
+    [a,x,t,d,e]=rda_jet(shot,ppftype,tracename);
+    if e==0
+      if gdat_params.nverbose>=3; disp(['error after rda_jet in signal with data_request_eff= ' data_request_eff]); end
+      return
     end
-    tracetdi=tdi(nodenameeff);
-    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
-      if (gdat_params.nverbose>=3); disp(['rerun LIUQE?']); end
+    aatmp.data = a; aatmp.t = t; aatmp.x = sqrt(x); % psi to rhopol
+    gdat_data.data = aatmp.data;
+    gdat_data.t = aatmp.t;
+    gdat_data.x = aatmp.x;
+    if isempty(gdat_data.data)
       return
-    end   
-    gdat_data.data = tracetdi.data;
-    gdat_data.dim = tracetdi.dim;
-    gdat_data.t = gdat_data.dim{2};
+    end
+    gdat_data.dim = [{gdat_data.x} {gdat_data.t}];
     gdat_data.data_fullpath=[nodenameeff ' on rhopol'];
-    rhopol_eff = ones(size(tracetdi.dim{1}));
-    rhopol_eff(:) = sqrt(linspace(0,1,length(tracetdi.dim{1})));
-    gdat_data.dim{1} = rhopol_eff;
-    gdat_data.x = gdat_data.dim{1};
     gdat_data.dimunits{1} = '';
     gdat_data.dimunits{2} = 's';
     gdat_data.units = '';
     gdat_data.request_description = 'q(rhopol\_norm)';
-
+    % add grids_1d to have rhotor, etc
+    gdat_data = get_grids_1d(gdat_data,1,1,gdat_params.nverbose);
+    
     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    case {'psi_edge'}
     % psi at edge, 0 by construction in Liuqe, thus not given
@@ -1171,29 +1172,27 @@ elseif strcmp(mapping_for_jet.method,'switchcase')
     gdat_data.request_description = '0 since LIUQE construct psi to be zero at LCFS';
 
     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-   case {'rhotor_edge','rhotor'}
+    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   case {'rhotor', 'rhotor_edge', 'rhotor_norm', 'rhovol', 'volume_rho'}
     % Phi(LCFS) = int(Bphi dSphi), can use Eq.(11) of "Tokamak coordinate conventions: COCOS" paper:
     % O. Sauter, S.Yu. Medvedev, Comput. Phys. Commun. 184 (2013) 293–302
     % since cocos=17 for LIUQE we get:
     % q = -dPhi/dpsi => Phi = - int(q*dpsi) which should always have the sign of B0
-    params_eff = gdat_data.gdat_params;
-    params_eff.data_request='q_rho'; 
-    q_rho=gdat_jet([],params_eff);
-    if isempty(q_rho.data) || isempty(q_rho.dim) % || ischar(q_rho.data) (to add?)
-      if (gdat_params.nverbose>=1); warning(['problems loading data for q_rho for data_request= ' data_request_eff]); end
-      if (gdat_params.nverbose>=3); disp(['rerun LIUQE?']); end
+    % get rhotornorm etc
+    nodenameeff=[{'ppf'},{'EFIT'},{'FTOR'}];
+    ppftype = nodenameeff{1};
+    tracename = [nodenameeff{2} '/' nodenameeff{3}];
+    [a,x,t,d,e]=rda_jet(shot,ppftype,tracename);
+    if e==0
+      if gdat_params.nverbose>=3; disp(['error after rda_jet in signal with nodenameeff= ' nodenameeff]); end
+      if gdat_params.nverbose>=3; disp('cannot get rhotornorm'); end
       return
     end
-    params_eff.data_request='psi_axis'; % psi_edge=0 with LIUQE
-    psi_axis=gdat_jet([],params_eff);
+    phi = a;
+    gdat_data.rhotornorm = sqrt(a/(ones(length(x),1)*a(end,:)));
+
     params_eff.data_request='b0'; % psi_edge=0 with LIUQE
     b0=gdat_jet([],params_eff);
-    b0tpsi = interp1(b0.t,b0.data,psi_axis.t); %q_rho on same time base as psi_axis
-    if isempty(psi_axis.data) || isempty(psi_axis.dim) || isempty(q_rho.data) || isempty(q_rho.dim)
-      if (gdat_params.nverbose>=1); warning(['problems loading data for ' nodenameeff ' for data_request= ' data_request_eff]); end
-      return
-    end
-    rhoequal = linspace(0,1,length(q_rho.dim{1}));
     if strcmp(data_request,'rhotor_edge')
       gdat_data.data = psi_axis.data; % to have the dimensions correct
       gdat_data.dim = psi_axis.dim;
@@ -1506,3 +1505,69 @@ error_status=0;
 
 return
 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+function [gdat_data] = get_grids_1d(gdat_data,nbdim_x,nopt,nverbose);
+%
+% add various rhos in grids_1d
+%
+% nbdim_x = 1: same x (rhopol) for all times
+%         = 2: rhopol depends on time like Thomson projection
+%
+% nopt = 0: do not fill in, just make the empty structure
+%      = 1: do compute various fields
+%
+
+gdat_data.grids_1d.rhopolnorm = gdat_data.x;
+if (nopt == 0) || isempty(gdat_data.x) || isempty(gdat_data.t) || isempty(gdat_data.data) || ischar(gdat_data.data)
+  gdat_data.grids_1d.rhotornorm = [];
+  gdat_data.grids_1d.rhovolnorm = [];
+  gdat_data.grids_1d.psi = [];
+  gdat_data.grids_1d.rhotor_edge = [];
+  gdat_data.grids_1d.volume_edge = [];
+  return
+end
+
+params_eff = gdat_data.gdat_params;params_eff.doplot=0;
+params_eff.data_request='rhotor';
+rhotor = gdat(gdat_data.shot,params_eff);
+params_eff.data_request='rhovol';
+rhovol = gdat(gdat_data.shot,params_eff);
+
+psi0 = interpos(rhotor.t',rhotor.psi_axis,gdat_data.t,-0.01);
+if (nbdim_x == 1)
+  gdat_data.grids_1d.psi = gdat_data.grids_1d.rhopolnorm.^2*reshape(psi0,1,length(psi0));
+elseif (nbdim_x == 2)
+  gdat_data.grids_1d.psi = gdat_data.grids_1d.rhopolnorm.^2.*repmat(reshape(psi0,1,length(psi0)),size(gdat_data.grids_1d.rhopolnorm,1),1);
+else
+  if nverbose>=0; disp(['option: nbdim_x = ' numstr(nbdim_x) ' not implemented, check with O. Sauter']); end
+  return
+end
+gdat_data.grids_1d.rhotornorm = NaN*ones(size(gdat_data.data));
+gdat_data.grids_1d.rhovolnorm = NaN*ones(size(gdat_data.data));
+it_rt = iround_os(rhotor.t,gdat_data.t);
+it_vol = iround_os(rhovol.t,gdat_data.t);
+for it=1:length(gdat_data.t)
+  % do an interpolation on closest point to avoid 2D interp
+  it_rt_eff = it_rt(it);
+  it_vol_eff = it_vol(it);
+  if (nbdim_x == 1)
+    ii=find(~isnan(gdat_data.grids_1d.rhopolnorm));
+  else
+    ii=find(~isnan(gdat_data.grids_1d.rhopolnorm(:,it)));
+  end
+  if (nbdim_x == 1)
+    if length(ii)==length(gdat_data.grids_1d.rhopolnorm)
+      gdat_data.grids_1d.rhotornorm(:,it)=interpos(rhotor.x,rhotor.data(:,it_rt_eff),gdat_data.grids_1d.rhopolnorm);
+      gdat_data.grids_1d.rhovolnorm(:,it)=interpos(rhovol.x,rhovol.data(:,it_vol_eff),gdat_data.grids_1d.rhopolnorm);
+    end
+  else
+    if length(ii)==size(gdat_data.grids_1d.rhopolnorm,1)
+      gdat_data.grids_1d.rhotornorm(:,it)=interpos(rhotor.x,rhotor.data(:,it_rt_eff),gdat_data.grids_1d.rhopolnorm(:,it));
+      gdat_data.grids_1d.rhovolnorm(:,it)=interpos(rhovol.x,rhovol.data(:,it_vol_eff),gdat_data.grids_1d.rhopolnorm(:,it));
+    end
+  end
+end
+gdat_data.grids_1d.rhotor_edge=interpos(rhotor.t',rhotor.rhotor_edge,gdat_data.t',-0.01);
+gdat_data.grids_1d.volume_edge=interpos(rhovol.t',rhovol.volume_edge,gdat_data.t',-0.01);
+
+return
diff --git a/crpptbx/JET/jet_requests_mapping.m b/crpptbx/JET/jet_requests_mapping.m
index 97a3fc86ddf7c171830df2a760916c7e636aa4ae..3957e1442410df2a9aa2294eaba62bf835dac7ef 100644
--- a/crpptbx/JET/jet_requests_mapping.m
+++ b/crpptbx/JET/jet_requests_mapping.m
@@ -39,46 +39,30 @@ end
 
 switch lower(data_request)
  case 'a_minor'
-  mapping.timedim = 1;
   mapping.label = 'a\_minor';
-  mapping.method = 'expression';
-  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''r_inboard'';' ...
-                    'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.r_inboard=gdat_tmp.data;' ...
-		    'params_eff.data_request=''r_outboard'';' ...
-		   'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.r_outboard=gdat_tmp2.data;' ...
-		    'gdat_tmp.data = 0.5.*(gdat_tmp2.data-gdat_tmp.data);gdat_tmp.label=''' mapping.label ''';' ...
-		   'gdat_tmp.gdat_request=''' data_request ''';'];
- case 'b0'
   mapping.timedim = 1;
+  mapping.method = 'signal';
+  mapping.expression = [{'PPF'},{'EFIT'},{'CR0'}];
+ case 'b0'
   mapping.label = 'B_0';
+  mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPC'},{'BTF'}];
+  mapping.expression = [{'ppf'},{'MAGN'},{'BVAC'}];
  case 'beta'
+  mapping.label = 'beta\_tor diag [%]';
   mapping.timedim = 1;
-  mapping.label = '\beta';
   mapping.method = 'signal';
-  mapping.expression = [{'TOT'},{'beta'}];
-  mapping.method = 'expression';
-  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''betan'';' ...
-                    'gdat_tmp=gdat_jet(shot,params_eff);' ...
-		    'params_eff.data_request=''ip'';gdat_tmp2=gdat_jet(shot,params_eff);' ...
-		    'params_eff.data_request=''b0'';gdat_tmp3=gdat_jet(shot,params_eff);' ...
-		    'params_eff.data_request=''a_minor'';gdat_tmp4=gdat_jet(shot,params_eff);' ...
-		    'tmp_data_ip=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ...
-		    'tmp_data_b0=interp1(gdat_tmp3.t,gdat_tmp3.data,gdat_tmp.t,[],NaN);' ...
-		    'tmp_data_a=interp1(gdat_tmp4.t,gdat_tmp4.data,gdat_tmp.t,[],NaN);' ...
-		    'gdat_tmp.data = 0.01.*abs(gdat_tmp.data.*tmp_data_ip./1e6./tmp_data_a./tmp_data_b0);' ...
-		    'gdat_tmp.label=''' mapping.label ''';gdat_tmp.gdat_request=''' data_request ''';'];
+  mapping.expression = [{'PPF'},{'EFIT'},{'BTTD'}];
  case 'betan'
-  mapping.timedim = 1;
   mapping.label = '\beta_N';
+  mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'TOT'},{'beta_N'}];
+  mapping.expression = [{'PPF'},{'EFIT'},{'BTND'}];
  case 'betap'
-  mapping.timedim = 1;
   mapping.label = '\beta_p';
+  mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'betpol'}];
+  mapping.expression = [{'PPF'},{'EFIT'},{'BTPD'}];
  case 'cxrs'
   mapping.timedim = 2;
   mapping.label = 'cxrs';
@@ -95,12 +79,12 @@ switch lower(data_request)
   mapping.label = 'delta\_top';
   mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'delRoben'}];
+  mapping.expression = [{'ppf'},{'EFIT'},{'TRIU'}];
  case 'delta_bottom'
   mapping.label = 'delta\_bottom';
   mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'delRuntn'}];
+  mapping.expression = [{'ppf'},{'EFIT'},{'TRIL'}];
  case {'ece', 'eced', 'ece_rho', 'eced_rho'}
   mapping.timedim = 2;
   mapping.method = 'switchcase';
@@ -114,39 +98,54 @@ switch lower(data_request)
   mapping.method = 'switchcase'; % could use function make_eqdsk directly?
   mapping.expression = '';
  case 'halpha'
-  mapping.timedim = 1;
   mapping.label = 'Halpha';
+  mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'POT'},{'ELMa-Han'}];
+  mapping.expression = [{'jpf'},{'dd'},{'s3-ad08'}];
  case 'ioh'
   mapping.timedim = 1;
   mapping.label = 'I ohmic transformer';
   mapping.method = 'signal';
-  mapping.expression = [{'MBI'},{'IOH'}];
+  mapping.expression = [];
  case 'ip'
   mapping.timedim = 1;
   mapping.label = 'Plasma current';
   mapping.method = 'signal';
   mapping.expression = [{'ppf'},{'efit'},{'xip'}];
+  mapping.expression = [{'ppf'},{'MAGN'},{'IPLA'}];
   mapping.units = 'A';
  case 'kappa'
   mapping.timedim = 1;
   mapping.label = '\kappa';
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'k'}];
+  mapping.expression = [{'ppf'},{'EHTR'},{'ELON'}];
+  mapping.expression = [{'ppf'},{'EFIT'},{'ELON'}];
  case 'mhd'
   mapping.timedim = 1;
-  mapping.label = 'Odd and Even n';
+  mapping.label = 'n=1 and n=2 amplitude';
   mapping.method = 'expression';
-  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request={''MOD'',''OddN''}; ' ...
+  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request={''JPF'',''DA'',''C1H-I301''}; ' ...
                     'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.data=reshape(gdat_tmp.data,length(gdat_tmp.data),1 );' ...
 		    'gdat_tmp.dim{1}=gdat_tmp.t;gdat_tmp.dim{2}=[1 2];gdat_tmp.x=gdat_tmp.dim{2};' ...
-		    'gdat_tmp.n_odd.data = gdat_tmp.data;gdat_tmp.n_odd.data_request=params_eff.data_request;' ...
-		    'params_eff.data_request={''MOD'',''EvenN''};' ...
+		    'gdat_tmp.n_1.data = gdat_tmp.data;gdat_tmp.n_1.data_request=params_eff.data_request;' ...
+		    'params_eff.data_request={''JPF'',''DA'',''C1H-I302''};' ...
 		    'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.data(:,2)=reshape(gdat_tmp2.data,length(gdat_tmp2.data),1);' ...
-		    'gdat_tmp.n_even.data = gdat_tmp2.data;gdat_tmp.n_even.data_request=params_eff.data_request;gdat_tmp.label={''n\_odd'',''n\_even''};' ...
-		    'gdat_tmp.full_path=''MOD/Odd in data and .n_odd; .n_even'';' ...
+		    'gdat_tmp.n_2.data = gdat_tmp2.data;gdat_tmp.n_2.data_request=params_eff.data_request;gdat_tmp.label={''n=1'',''n=2''};' ...
+		    'gdat_tmp.full_path=''n=1 in data and .n_1; .n_2'';' ...
 		    'gdat_tmp.gdat_request=''mhd'';gdat_tmp.gdat_params.data_request=gdat_tmp.gdat_request;'];
+ case 'mhd_ampl'
+  mapping.timedim = 1;
+  mapping.label = 'n=1 and n=2 amplitude';
+  mapping.method = 'expression';
+  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request={''JPF'',''DA'',''C1H-G101''}; ' ...
+                    'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.data=reshape(gdat_tmp.data,length(gdat_tmp.data),1 );' ...
+		    'gdat_tmp.dim{1}=gdat_tmp.t;gdat_tmp.dim{2}=[1 2];gdat_tmp.x=gdat_tmp.dim{2};' ...
+		    'gdat_tmp.n_1.data = gdat_tmp.data;gdat_tmp.n_1.data_request=params_eff.data_request;' ...
+		    'params_eff.data_request={''JPF'',''DA'',''C1H-G102''};' ...
+		    'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.data(:,2)=reshape(gdat_tmp2.data,length(gdat_tmp2.data),1);' ...
+		    'gdat_tmp.n_2.data = gdat_tmp2.data;gdat_tmp.n_2.data_request=params_eff.data_request;gdat_tmp.label={''n=1'',''n=2''};' ...
+		    'gdat_tmp.full_path=''n=1 amplitude in data and .n_1; .n_2'';' ...
+		    'gdat_tmp.gdat_request=''mhd_ampl'';gdat_tmp.gdat_params.data_request=gdat_tmp.gdat_request;'];
  case 'ne'
   mapping.timedim = 2;
   mapping.method = 'switchcase';
@@ -157,14 +156,10 @@ switch lower(data_request)
   mapping.expression = [{'DCN'},{'H-1'},{'JETD'}];
  case 'nel'
   mapping.timedim = 1;
-  mapping.label = 'line-averaged el. density';
-  mapping.expression = [{'FPG'},{'lenH-1'},{'JETD'}];
-  mapping.method = 'expression';
-  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''neint'';' ...
-                    'gdat_tmp=gdat_jet(shot,params_eff);params_eff.data_request=[{''FPG''},{''lenH-1''},{''JETD''}];' ...
-		   'gdat_tmp2=gdat_jet(shot,params_eff);ij=find(gdat_tmp2.data==0);gdat_tmp2.data(ij)=NaN;' ...
-		    'tmp_data=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ...
-		    'gdat_tmp.data = gdat_tmp.data./(tmp_data+1e-5);'];
+  mapping.label = 'nel';
+  mapping.method = 'signal';
+  mapping.expression = [{'ppf'},{'KG1L'},{'LAD3'}];
+  mapping.expression = [{'ppf'},{'HRTX'},{'NELA'}];
  case 'ne_rho'
   mapping.timedim = 2;
   mapping.label = 'ne';
@@ -180,30 +175,31 @@ switch lower(data_request)
   mapping.label = 'various powers';
   mapping.method = 'switchcase';
  case 'psi_axis'
+  mapping.label = 'psi\_axis';
   mapping.timedim = 1;
-  mapping.method = 'switchcase'; % there is psi_axis-psi_edge in FPG but otherwise complicated to get from equil, thus needs swticth case
-  mapping.label ='psi_\axis' ;
+  mapping.method = 'signal';
+  mapping.expression = [{'PPF'},{'EFIT'},{'FAXS'}];
  case 'psi_edge'
-  mapping.timedim = 1;
-  mapping.method = 'switchcase'; % is set to zero, so not in tree nodes
   mapping.label = 'psi\_edge';
- case 'q0'
   mapping.timedim = 1;
+  mapping.method = 'signal';
+  mapping.expression = [{'PPF'},{'EFIT'},{'FBND'}];
+ case 'q0'
   mapping.label = 'q_0';
+  mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'q0'},{'JETD'}];
+  mapping.expression = [{'PPF'},{'EFIT'},{'QAX'}];
+  % mapping.expression = [{'PPF'},{'EFIT'},{'QAXM'}];
  case 'q95'
-  mapping.timedim = 1;
   mapping.label = 'q_{95}';
+  mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'q95'},{'JETD'}];
+  mapping.expression = [{'PPF'},{'EFIT'},{'Q95'}];
  case 'q_edge'
-  mapping.timedim = 1;
   mapping.label = 'q_{edge}}';
-  mapping.method = 'expression';
-  mapping.method = 'switchcase';
-  mapping.expression = [{'FPG'},{'q95'},{'JETD'}];
-  mapping.expression = [];
+  mapping.timedim = 1;
+  mapping.method = 'signal';
+  mapping.expression = [{'PPF'},{'EFIT'},{'QWL'}];
  case 'q_rho'
   mapping.timedim = 2;
   mapping.gdat_timedim = 2;
@@ -212,31 +208,30 @@ switch lower(data_request)
  case 'rgeom'
   mapping.label = 'Rgeom';
   mapping.timedim = 1;
-  mapping.method = 'expression';
-  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''r_inboard'';' ...
-                    'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.r_inboard=gdat_tmp.data;' ...
-		    'params_eff.data_request=''r_outboard'';' ...
-		   'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.r_outboard=gdat_tmp2.data;' ...
-		    'gdat_tmp.data = 0.5.*(gdat_tmp2.data+gdat_tmp.data);gdat_tmp.label=''' mapping.label ''';' ...
-		   'gdat_tmp.gdat_request=''' data_request ''';'];
+  mapping.method = 'signal';
+  mapping.expression = [{'PPF'},{'EFIT'},{'RGEO'}];
  case 'r_inboard'
   mapping.label = 'R\_inboard';
   mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'Rin'},{'JETD'}];
+  mapping.expression = [{'PPF'},{'EFIT'},{'RMJI'}];
  case 'r_outboard'
   mapping.label = 'R\_outboard';
   mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'Raus'},{'JETD'}];
+  mapping.expression = [{'PPF'},{'EFIT'},{'RMJO'}];
  case 'rhotor'
   mapping.timedim = 2;
   mapping.method = 'switchcase';
-  mapping.label = 'rhotor\_norm';
+  mapping.label = 'rhotor';
  case 'rhotor_edge'
   mapping.timedim = 1;
   mapping.method = 'switchcase';
   mapping.label = 'rhotor\_edge';
+ case 'rhotor_norm'
+  mapping.timedim = 2;
+  mapping.method = 'switchcase';
+  mapping.label = 'rhotor\_norm';
  case 'rhovol'
   mapping.timedim = 2;
   mapping.label = 'rhovol\_norm';
@@ -245,7 +240,7 @@ switch lower(data_request)
   mapping.label = 'R\_magaxis';
   mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'Rmag'},{'JETD'}];
+  mapping.expression = [{'PPF'},{'EFIT'},{'RMAG'}];
  case 'sxr'
   mapping.timedim = 1;
   mapping.gdat_timedim = 2;
@@ -262,45 +257,34 @@ switch lower(data_request)
   mapping.label = 'Ti';
   mapping.method = 'switchcase';
  case 'vloop'
-  mapping.label = 'Vloop';
+  mapping.label = 'Vloop Upper Restraint Ring Flux Flux Loop, non-integrated';
   mapping.timedim = 1;
-  % mapping.method = 'signal';
-  % mapping.expression = [{'MAG'},{'ULid12'},{'JETD'}];
-  mapping.method = 'expression';
-  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''MAG''},{''ULid12''},{''JETD''}];' ...
-		   'gdat_tmp=gdat_jet(shot,params_eff);ij=find(~isnan(gdat_tmp.data));' ...
-		    'tmp_data=interpos(gdat_tmp.t,gdat_tmp.data,-3e4);' ...
-		    'gdat_tmp.data_smooth = tmp_data;gdat_tmp.gdat_request=''vloop'';gdat_tmp.gdat_params.data_request=gdat_tmp.gdat_request;'];
+  mapping.method = 'signal';
+  mapping.expression = [{'JPF'},{'DA'},{'C2-VLRRU'}];
  case 'volume'
   mapping.label = 'Volume';
   mapping.timedim = 1;
-  mapping.method = 'switchcase';
-  mapping.expression = [{'FPG'},{'Vol'},{'JETD'}];
+  mapping.method = 'signal';
+  mapping.expression = [{'PPF'},{'EFIT'},{'VOLM'}];
  case 'volume_rho'
   mapping.timedim = 2;
   mapping.label = 'volume\_norm';
   mapping.method = 'switchcase';
  case 'zeff'
-  mapping.label = 'zeff from cxrs';
+  mapping.label = 'zeff from KS3';
   mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'ZES'},{'Zeff'},{'JETD'}];
+  mapping.expression = [{'PPF'},{'KS3'},{'ZEFV'}];
  case 'zgeom'
-  mapping.label = 'Zgeom';
+  mapping.label = 'Z_{geom}';
   mapping.timedim = 1;
-  mapping.method = 'expression';
-  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''FPG''},{''Zoben''},{''JETD''}];' ...
-                    'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.z_top=gdat_tmp.data;' ...
-		    'params_eff.data_request=[{''FPG''},{''Zunt''},{''JETD''}];' ...
-		   'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.z_bottom=gdat_tmp2.data;' ...
-		    'gdat_tmp.data = 0.5.*(gdat_tmp2.data+gdat_tmp.data);gdat_tmp.label=''' mapping.label ''';' ...
-		   'gdat_tmp.gdat_request=''' data_request ''';'];
-
+  mapping.method = 'signal';
+  mapping.expression = [{'PPF'},{'EFIT'},{'ZGEO'}];
  case 'zmag'
   mapping.label = 'Z\_magaxis';
   mapping.timedim = 1;
   mapping.method = 'signal';
-  mapping.expression = [{'FPG'},{'Zmag'},{'JETD'}];
+  mapping.expression = [{'PPF'},{'EFIT'},{'ZMAG'}];
   %
   % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   % extra JET cases (not necessarily in official data_request name list)