diff --git a/matlab/D3D/d3d_requests_mapping.m b/matlab/D3D/d3d_requests_mapping.m
index 06eda2ad1e9ac0cd59d5971c48ff560f4789335d..95f09dd47ab980e62e16be029f9fe4d1f5f10b2c 100644
--- a/matlab/D3D/d3d_requests_mapping.m
+++ b/matlab/D3D/d3d_requests_mapping.m
@@ -94,7 +94,7 @@ switch lower(data_request)
   mapping.expression = [{'EFIT01'},{'\tribot'}];
  case 'den_target'
   mapping.timedim = 1;
-  mapping.label = {'density ref','density'};
+  mapping.label = {'density_ref','density'};
   mapping.method = 'expression';
   mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''d3d''},{''ptdata("dstdenp")''}];' ...
                     'gdat_tmp=gdat_d3d(shot,params_eff);params_eff.data_request=[{''d3d''},{''ptdata("dssdenest")''}];' ...
@@ -191,7 +191,9 @@ switch lower(data_request)
   mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''nb''},{''pinj''}];' ...
                     'gdat_tmp=gdat_d3d(shot,params_eff);gdat_tmp.units=''W'';' ...
 		    'gdat_tmp.data = 1e3.*gdat_tmp.data;gdat_tmp.label=''' mapping.label ''';' ...
-                    'gdat_tmp.gdat_request=''' data_request ''';'];
+                    'gdat_tmp.gdat_request=''' data_request ''';' ...
+                    'gdat_tmp.data_smooth=interpos(gdat_tmp.t,gdat_tmp.data,-3e7);' ...
+                    'gdat_tmp.data_smooth=max(0.,gdat_tmp.data_smooth);'];
  case 'ne'
   mapping.timedim = 2;
   mapping.method = 'switchcase';
@@ -260,16 +262,18 @@ switch lower(data_request)
   mapping.method = 'switchcase';
  case {'prad','prad_tot','rad','rad_tot'}
   mapping.timedim = 1;
-  mapping.label = {'PRAD_divl','PRAD_divu','tot-divL-divU','PRAD_TOT'};
+  mapping.label = {'PRAD_divl','PRAD_divu','prad_core','tot-divL-divU','PRAD_TOT'};
   mapping.method = 'expression';
   mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request={''bolom'',''PRAD_01.PRAD:PRAD_divl''};' ...
                     'gdat_tmp=gdat_d3d(shot,params_eff);gdat_tmp.divl=gdat_tmp;' ...
                     'params_eff.data_request{2}=''PRAD_01.PRAD:PRAD_divu'';gdat_tmpU=gdat_d3d(shot,params_eff);' ...
                     'gdat_tmp.divu=gdat_tmpU;gdat_tmp.data(:,2)=gdat_tmpU.data;' ...
+                    'params_eff.data_request{2}=''\PRAD_CORE'';gdat_tmpcore=gdat_d3d(shot,params_eff);' ...
+                    'gdat_tmp.core=gdat_tmpcore;gdat_tmp.data(:,3)=interp1(gdat_tmpcore.t,gdat_tmpcore.data,gdat_tmp.t);' ...
                     'params_eff.data_request{2}=''PRAD_01.PRAD:PRAD_tot'';gdat_tmptot=gdat_d3d(shot,params_eff);' ...
-                    'gdat_tmp.tot=gdat_tmptot;gdat_tmp.data(:,4)=gdat_tmptot.data;' ...
-                    'gdat_tmp.data(:,3) = gdat_tmp.data(:,4)-gdat_tmp.data(:,1)-gdat_tmp.data(:,2);' ...
-                    'gdat_tmp.dim{2} = [1:4];gdat_tmp.dimunits{2} = {''divl'',''divu'',''tot-divl-divu'',''prad_tot''};' ...
+                    'gdat_tmp.tot=gdat_tmptot;gdat_tmp.data(:,5)=gdat_tmptot.data;' ...
+                    'gdat_tmp.data(:,4) = gdat_tmp.data(:,5)-gdat_tmp.data(:,1)-gdat_tmp.data(:,2);' ...
+                    'gdat_tmp.dim{2} = [1:5];gdat_tmp.dimunits{2} = {''divl'',''divu'',''core'',''tot-divl-divu'',''prad_tot''};' ...
                     'gdat_tmp.units=''W'';gdat_tmp.dimunits{1}=''s'';'];
  case 'psi_axis'
   mapping.timedim = 1;
@@ -391,6 +395,9 @@ switch lower(data_request)
   mapping.timedim = 1;
   mapping.method = 'signal';
   mapping.expression = [{'ZES'},{'Zeff'},{'D3DD'}];
+ case 'zeff_cerq'
+  mapping.timedim = 2;
+  mapping.method = 'switchcase';
  case 'zgeom'
   mapping.label = 'Zgeom';
   mapping.timedim = 1;
diff --git a/matlab/D3D/gdat_d3d.m b/matlab/D3D/gdat_d3d.m
index 95a2ab08871be7db0a91f0082c15ebced6f249cc..211a9034151a366bdc917a38a83f9ab1c1f5d90a 100644
--- a/matlab/D3D/gdat_d3d.m
+++ b/matlab/D3D/gdat_d3d.m
@@ -50,7 +50,7 @@ function [gdat_data,gdat_params,error_status,varargout] = gdat_d3d(shot,data_req
 %    a6=gdat(32827,'ip','Opt1',123,'Doplot',1,'opt2','Abc'); % standard call with a few options (note all lowercase in output)
 %
 % From remote:
-% ssh -p 2039 -C -l sautero -L 8001:atlas.gat.com:8000 cybele.gat.com
+% ssh -p 2039 -C -l sautero -L 8002:atlas.gat.com:8000 cybele.gat.com
 % And in another session in matlab:
 % mdsconnect('localhost:8001'); mdsvalue('1+3') % to test connection to server
 % sh=mdsopen('efit01',193400); (instead of no connect and sh=mdsopen('atlas.gat.com::efit01',193400); from iris
@@ -271,7 +271,7 @@ if strcmp(mapping_for_d3d.method,'signal')
   end
   if ~isempty(shot)
     if isempty(aa) && mdsremotelist==0 && any(findstr('epfl',getenv('HOSTNAME')))
-      mdsconnect('localhost:5556');
+      mdsconnect('localhost:8002');
       aa=mdscurrent;
     end
     if strmatch('localhost',aa)
@@ -1708,6 +1708,51 @@ elseif strcmp(mapping_for_d3d.method,'switchcase')
       gdat_data.dimunits{1} = gdat_data.TIME.unit;
     end
 
+    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+   case {'zeff_cerq', 'zeff_cer'}
+    % zeff from specific cer lines, C, N, ...
+    if ~isfield(gdat_data.gdat_params,'camera') || isempty(gdat_data.gdat_params.camera)
+      gdat_data.gdat_params.camera = [9 18 20 41];
+    end
+    gdat_data.label = {};
+    for i=1:numel(gdat_data.gdat_params.camera)
+      gdat_data.label{i} = ['cerqzefft' num2str(gdat_data.gdat_params.camera(i))];
+    end
+    %
+    if ~isfield(gdat_data.gdat_params,'time_interval')
+      gdat_data.gdat_params.time_interval = [];
+    end
+    icount = 0;
+    for i=1:length(gdat_data.gdat_params.camera)
+      ichord = gdat_data.gdat_params.camera(i);
+      diagname = ['\' gdat_data.label{i}];
+      a = gdat_d3d(shot,diagname);
+      if ~isempty(a.data) && isnumeric(a.data)
+	icount = icount + 1;
+	if icount == 1
+	  % first time has data
+	  gdat_data.t = a.t;
+	  gdat_data.units = a.units;
+          gdat_data.data = NaN*ones(numel(gdat_data.gdat_params.camera),length(gdat_data.t));
+          gdat_data.data(icount,:) = a.data;
+          gdat_data.x = gdat_data.gdat_params.camera;
+          gdat_data.dim{1} = gdat_data.x;
+	  gdat_data.dim{2} = gdat_data.t;
+	  gdat_data.dimunits = [{'t nb'}; {'s'}];
+	  gdat_data.data_fullpath = '\cerqzefftii';
+        else
+          try
+            gdat_data.data(icount,:) = interp1(a.t,a.data,gdat_data.t);
+          catch
+            if (gdat_params.nverbose>=1); disp(['problem with ichord = ' num2str(ichord)]); end
+          end
+        end
+      else
+	% add fields not yet defined in case all cases have empty data 
+      end
+    end
+    gdat_data.chords = gdat_data.gdat_params.camera;
+    
    otherwise
     if (gdat_params.nverbose>=1); warning(['switchcase= ' data_request_eff ' not known in gdat_d3d']); end
     error_status=901;
diff --git a/matlab/gdat.m b/matlab/gdat.m
index 6bd59ffaf5a75354fad53f6dc4948132c3d73a4f..11efb5931b88064d3e98894b1767e7922d8eb0d0 100644
--- a/matlab/gdat.m
+++ b/matlab/gdat.m
@@ -103,7 +103,7 @@ else
     default_machine = 'tcv';
   elseif ~isempty(regexpi(hostname,'rzg.mpg'))
     default_machine = 'aug';
-  elseif ~isempty(regexpi(hostname,'gat.com'))
+  elseif ~isempty(regexpi(hostname,'iris'))
     default_machine = 'd3d';
   end
 end