diff --git a/crpptbx/AUG/loadAUGdata.m b/crpptbx/AUG/loadAUGdata.m
index 74063e74d090f38956ababd6894e0fcb65fa7817..36a06ef077aaf47e67c593103b5af394b09cdf84 100644
--- a/crpptbx/AUG/loadAUGdata.m
+++ b/crpptbx/AUG/loadAUGdata.m
@@ -94,6 +94,9 @@ if size(data_type_eff,1)==1
   if ~isempty(strmatch(data_type_eff_noext,[{'Terho'}],'exact'))
     data_type_eff_noext='terho';
   end
+  if ~isempty(strmatch(lower(data_type_eff_noext),[{'neterho'}],'exact'))
+    data_type_eff_noext='neterho';
+  end
   if ~isempty(strmatch(lower(data_type_eff_noext),[{'cxrs'} {'vrot'} {'ti'}],'exact'))
     data_type_eff_noext='cxrs'; % load full CEZ structure
   end
@@ -169,7 +172,7 @@ end
 % all keywords and corresponding case to run below
 AUGkeywrdall=[{'Ip'} {'b0'} {'zmag'} {'rmag'}  {'rgeo'} {'zgeo'} {'rcont'} {'zcont'} {'vol'} {'qrho'} {'qrho_fpp'} {'q0'} {'q95'} {'kappa'} ...
 	      {'delta'} {'deltatop'} {'deltabot'} {'neint'} ...
-	      {'ne'} {'te'} {'nerho'} {'terho'} {'cxrs'} {'cxrs_rhos'} {'equil'} {'equil_fpp'} ...
+	      {'ne'} {'te'} {'nerho'} {'neterho'} {'terho'} {'cxrs'} {'cxrs_rhos'} {'equil'} {'equil_fpp'} ...
 	      {'sxr'} {'sxR'} {'sxb'} {'ece'} {'eced'} {'Halpha'}];
 AUGsig.iip=strmatch('Ip',AUGkeywrdall,'exact');
 AUGsig.ib0=strmatch('b0',AUGkeywrdall,'exact');
@@ -195,6 +198,7 @@ AUGsig.ine=strmatch('ne',AUGkeywrdall,'exact');
 AUGsig.ite=strmatch('te',AUGkeywrdall,'exact');
 AUGsig.inerho=strmatch('nerho',AUGkeywrdall,'exact');
 AUGsig.iterho=strmatch('terho',AUGkeywrdall,'exact');
+AUGsig.ineterho=strmatch('neterho',AUGkeywrdall,'exact');
 AUGsig.icxrs=strmatch('cxrs',AUGkeywrdall,'exact');
 AUGsig.icxrs_rhos=strmatch('cxrs_rhos',AUGkeywrdall,'exact');
 AUGsig.isxr=strmatch('sxr',AUGkeywrdall,'exact');
@@ -215,8 +219,9 @@ AUGkeywrdcase(AUGsig.iequil_fpp)=AUGkeywrdall(AUGsig.iequil_fpp); % special as e
 %AUGkeywrdcase(AUGsig.idelta)=AUGkeywrdall(AUGsig.idelta); % special as average of triu and tril
 AUGkeywrdcase(AUGsig.ine)=AUGkeywrdall(AUGsig.ine); % special as adds error bars
 AUGkeywrdcase(AUGsig.ite)=AUGkeywrdall(AUGsig.ite); % idem
-%AUGkeywrdcase(AUGsig.inerho)=AUGkeywrdall(AUGsig.inerho); % idem
-%AUGkeywrdcase(AUGsig.iterho)=AUGkeywrdall(AUGsig.iterho); % idem
+AUGkeywrdcase(AUGsig.inerho)=AUGkeywrdall(AUGsig.inerho); % idem
+AUGkeywrdcase(AUGsig.ineterho)=AUGkeywrdall(AUGsig.ineterho); % idem
+AUGkeywrdcase(AUGsig.iterho)=AUGkeywrdall(AUGsig.iterho); % idem
 AUGkeywrdcase(AUGsig.isxr)=AUGkeywrdall(AUGsig.isxr);
 AUGkeywrdcase(AUGsig.isxR)=AUGkeywrdall(AUGsig.isxR);
 AUGkeywrdcase(AUGsig.isxb)=AUGkeywrdall(AUGsig.isxb);
@@ -593,6 +598,142 @@ switch AUGkeywrdcase{index}
       trace.name=[num2str(shot) '/' ppftype '/' tracename];
     end
     
+  %&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
+  case {'neterho'} % 'nerho', 'terho', 
+    %  LOAD VTA data
+    %  Vertical Thomson core and edge
+
+    shotfile_exp_eff = AUGexplocation{index};
+
+    trace.t=[];
+    trace.x=[];
+    ppftype='VTA';
+    % if strcmp(AUGkeywrdcase{index},'terho')    
+    [a,e]=rdaAUG_eff(shot,ppftype,'Te_c',shotfile_exp_eff);
+    if isempty(a) || e~=0
+      thomson = struct([]);
+    else
+      thomson.te_core = a;
+      rmfield(thomson.te_core,'x'); rmfield(thomson.te_core,'t'); rmfield(thomson.te_core,'data');
+      thomson.x = a.x;
+      thomson.data = a.data;
+      thomson.t = a.t;
+      thomson.time_core = a.t;
+      thomson.x = a.x;
+    end
+    if ~isempty(thomson)
+      thomson.dim=[{thomson.x} ; {thomson.t}];
+      thomson.dimunits=[{'points'} ; {'time [s]'}];
+      thomson.name=[num2str(shot) '/' ppftype '/te_c;te_e;ne_c;ne_e'];
+      [alow,e]=rdaAUG_eff(shot,ppftype,'Telow_c',shotfile_exp_eff);
+      [aup,e]=rdaAUG_eff(shot,ppftype,'Teupp_c',shotfile_exp_eff);
+      thomson.te_core.error = max(aup.value-thomson.te_core.value,thomson.te_core.value-alow.value);
+      %
+      [a,e]=rdaAUG_eff(shot,ppftype,'Ne_c',shotfile_exp_eff);
+      thomson.ne_core = a;
+      rmfield(thomson.ne_core,'x'); rmfield(thomson.ne_core,'t'); rmfield(thomson.ne_core,'data');
+      [alow,e]=rdaAUG_eff(shot,ppftype,'Nelow_c',shotfile_exp_eff);
+      [aup,e]=rdaAUG_eff(shot,ppftype,'Neupp_c',shotfile_exp_eff);
+      thomson.ne_core.error = max(aup.value-thomson.ne_core.value,thomson.ne_core.value-alow.value);
+      %
+      [r_time]=rdaAUG_eff(shot,ppftype,'R_core',shotfile_exp_eff);
+      thomson.r_core_time = ones(size(thomson.te_core.value,1),1)*r_time.value;
+      [z_time]=rdaAUG_eff(shot,ppftype,'Z_core',shotfile_exp_eff);
+      thomson.z_core_time = z_time.value' * ones(1,size(thomson.te_core.value,2));
+      %
+      [a,e]=rdaAUG_eff(shot,ppftype,'Te_e',shotfile_exp_eff);
+      thomson.te_edge = a;
+      thomson.time_edge = a.t;
+      rmfield(thomson.te_edge,'x'); rmfield(thomson.te_edge,'t'); rmfield(thomson.te_edge,'data');
+      [alow,e]=rdaAUG_eff(shot,ppftype,'Telow_e',shotfile_exp_eff);
+      [aup,e]=rdaAUG_eff(shot,ppftype,'Teupp_e',shotfile_exp_eff);
+      thomson.te_edge.error = max(aup.value-thomson.te_edge.value,thomson.te_edge.value-alow.value);
+      %
+      [a,e]=rdaAUG_eff(shot,ppftype,'Ne_e',shotfile_exp_eff);
+      thomson.ne_edge = a;
+      rmfield(thomson.ne_edge,'x'); rmfield(thomson.ne_edge,'t'); rmfield(thomson.ne_edge,'data');
+      [alow,e]=rdaAUG_eff(shot,ppftype,'Nelow_e',shotfile_exp_eff);
+      [aup,e]=rdaAUG_eff(shot,ppftype,'Neupp_e',shotfile_exp_eff);
+      thomson.ne_edge.error = max(aup.value-thomson.ne_edge.value,thomson.ne_edge.value-alow.value);
+      %
+      [r_time]=rdaAUG_eff(shot,ppftype,'R_edge',shotfile_exp_eff);
+      thomson.r_edge_time = ones(size(thomson.te_edge.value,1),1)*r_time.value;
+      [z_time]=rdaAUG_eff(shot,ppftype,'Z_edge',shotfile_exp_eff);
+      thomson.z_edge_time = z_time.value' * ones(1,size(thomson.te_edge.value,2));
+      %
+      if strcmp(AUGkeywrdcase{index},'neterho')
+	equil=gdat(shot,'equil',0);
+	% core
+	inb_chord_thomson_core=size(thomson.r_core_time,1);
+	inb_time_thomson_core=size(thomson.r_core_time,2);
+	psi_out_core = NaN*ones(inb_chord_thomson_core,inb_time_thomson_core);
+	rhopsinorm_out_core = NaN*ones(inb_chord_thomson_core,inb_time_thomson_core);
+	rhotornorm_out_core = NaN*ones(inb_chord_thomson_core,inb_time_thomson_core);
+	rhovolnorm_out_core = NaN*ones(inb_chord_thomson_core,inb_time_thomson_core);
+	% edge
+	inb_chord_thomson_edge=size(thomson.r_edge_time,1);
+	inb_time_thomson_edge=size(thomson.r_edge_time,2);
+	psi_out_edge = NaN*ones(inb_chord_thomson_edge,inb_time_thomson_edge);
+	rhopsinorm_out_edge = NaN*ones(inb_chord_thomson_edge,inb_time_thomson_edge);
+	rhotornorm_out_edge = NaN*ones(inb_chord_thomson_edge,inb_time_thomson_edge);
+	rhovolnorm_out_edge = NaN*ones(inb_chord_thomson_edge,inb_time_thomson_edge);
+	% constructs intervals within which a given equil is used: [time_equil(i),time_equil(i+1)]
+	time_equil=[1.5*equil.t(1)-0.5*equil.t(2) 0.5.*(equil.t(1:end-1)+equil.t(2:end)) 1.5*equil.t(end)-0.5*equil.t(end-1)];
+	for itequil=1:length(time_equil)-1
+	  rr=equil.Rmesh(:,itequil);
+	  zz=equil.Zmesh(:,itequil);
+	  psirz_in = equil.psi2D(:,:,itequil);
+	  it_thomson_core_inequil = find(thomson.time_core>=time_equil(itequil) & thomson.time_core<=time_equil(itequil+1));
+	  if ~isempty(it_thomson_core_inequil)
+	    rout_core=thomson.r_core_time(:,it_thomson_core_inequil);
+	    zout_core=thomson.z_core_time(:,it_thomson_core_inequil);
+	    psi_at_routzout = interpos2Dcartesian(rr,zz,psirz_in,rout_core,zout_core);
+	    psi_out_core(:,it_thomson_core_inequil) = reshape(psi_at_routzout,inb_chord_thomson_core,length(it_thomson_core_inequil));
+	    rhopsinorm_out_core(:,it_thomson_core_inequil) = sqrt((psi_out_core(:,it_thomson_core_inequil)-equil.psi_axis(itequil))./(equil.psi_lcfs(itequil)-equil.psi_axis(itequil)));
+	    for it_cx=1:length(it_thomson_core_inequil)
+	      rhotornorm_out_core(:,it_thomson_core_inequil(it_cx)) = ...
+		  interpos(equil.rhopolnorm(:,itequil),equil.rhotornorm(:,itequil),rhopsinorm_out_core(:,it_thomson_core_inequil(it_cx)),-3,[2 2],[0 1]);
+	      rhovolnorm_out_core(:,it_thomson_core_inequil(it_cx)) = ...
+		  interpos(equil.rhopolnorm(:,itequil),equil.rhovolnorm(:,itequil),rhopsinorm_out_core(:,it_thomson_core_inequil(it_cx)),-3,[2 2],[0 1]);
+	    end
+	  end
+	  % edge
+	  it_thomson_edge_inequil = find(thomson.time_edge>=time_equil(itequil) & thomson.time_edge<=time_equil(itequil+1));
+	  if ~isempty(it_thomson_edge_inequil)
+	    rout_edge=thomson.r_edge_time(:,it_thomson_edge_inequil);
+	    zout_edge=thomson.z_edge_time(:,it_thomson_edge_inequil);
+	    psi_at_routzout = interpos2Dcartesian(rr,zz,psirz_in,rout_edge,zout_edge);
+	    psi_out_edge(:,it_thomson_edge_inequil) = reshape(psi_at_routzout,inb_chord_thomson_edge,length(it_thomson_edge_inequil));
+	    rhopsinorm_out_edge(:,it_thomson_edge_inequil) = sqrt((psi_out_edge(:,it_thomson_edge_inequil)-equil.psi_axis(itequil))./(equil.psi_lcfs(itequil)-equil.psi_axis(itequil)));
+	    for it_cx=1:length(it_thomson_edge_inequil)
+	      rhotornorm_out_edge(:,it_thomson_edge_inequil(it_cx)) = ...
+		  interpos(equil.rhopolnorm(:,itequil),equil.rhotornorm(:,itequil),rhopsinorm_out_edge(:,it_thomson_edge_inequil(it_cx)),-3,[2 2],[0 1]);
+	      rhovolnorm_out_edge(:,it_thomson_edge_inequil(it_cx)) = ...
+		  interpos(equil.rhopolnorm(:,itequil),equil.rhovolnorm(:,itequil),rhopsinorm_out_edge(:,it_thomson_edge_inequil(it_cx)),-3,[2 2],[0 1]);
+	    end
+	  end
+	end
+	thomson.core_psi_on_rztime = psi_out_core;
+	thomson.core_rhopsinorm_on_rztime = rhopsinorm_out_core;
+	thomson.core_rhotornorm_on_rztime = rhotornorm_out_core;
+	thomson.core_rhovolnorm_on_rztime = rhovolnorm_out_core;
+	thomson.edge_psi_on_rztime = psi_out_edge;
+	thomson.edge_rhopsinorm_on_rztime = rhopsinorm_out_edge;
+	thomson.edge_rhotornorm_on_rztime = rhotornorm_out_edge;
+	thomson.edge_rhovolnorm_on_rztime = rhovolnorm_out_edge;
+      end
+	
+      trace = thomson;
+    else
+      trace.data = [];
+      trace.dim = [];
+      trace.dimunits = [];
+      trace.x = [];
+      trace.t = [];
+      trace.units = [];
+      trace.name=[num2str(shot) '/' ppftype '/' tracename];
+    end
+    
   %&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   case {'te', 'ne'}