diff --git a/matlab/D3D/README_2023 b/matlab/D3D/README_2023
index 58523476180c092ec018f6f62146a349400c4817..0c6622ef9aff7b8ffeeaad4915cc1a2e99add309 100644
--- a/matlab/D3D/README_2023
+++ b/matlab/D3D/README_2023
@@ -1,12 +1,12 @@
 
-[data,ier] = get_mds_tree_old(193848,'efit01');
-[datad3d,ier] = get_mds_tree_old(193848,'d3d');
-[data_ions,ier] = get_mds_tree_old(193848,'ions');
-[data_bolom,ier] = get_mds_tree_old(193870,'bolom');
+[data,ier] = get_mds_tree_d3d(193848,'efit01');
+[datad3d,ier] = get_mds_tree_d3d(193848,'d3d');
+[data_ions,ier] = get_mds_tree_d3d(193848,'ions');
+[data_bolom,ier] = get_mds_tree_d3d(193870,'bolom');
 
 bn=gdat(193848,{'ions','neutrons:RDD1D_TH'},'doplot',1);
 
-[data_spec,ier] = get_mds_tree_old(193848,'spectroscopy');
+[data_spec,ier] = get_mds_tree_d3d(193848,'spectroscopy');
 
 sh=mdsopen('atlas.gat.com:bolom',193780);
 prad_tot = mdsvalue('PRAD_01.PRAD:PRAD_TOT');
diff --git a/matlab/D3D/efit/private/eq_mds.m b/matlab/D3D/efit/private/eq_mds.m
index b587d8bb06e625c001a2a2e074b285513389bb73..7873b2852d1e9db5d8d018fe7108c602917fcf80 100644
--- a/matlab/D3D/efit/private/eq_mds.m
+++ b/matlab/D3D/efit/private/eq_mds.m
@@ -66,16 +66,16 @@
 % ==========================================================================
 %  @(#)eq_mds.m	1.7 06/23/10
 
-wait('WARNING eq_mds: eq_mds is OBSOLETE - use get_mds_tree instead')
+wait('WARNING eq_mds: eq_mds is OBSOLETE - use get_mds_tree_d3d instead')
 
 if(nargin<2)
    wait('ERROR eq_mds: requires at least 2 inputs')
 elseif(nargin==2)
-   eq = get_mds_tree(shot, tree);
+   eq = get_mds_tree_d3d(shot, tree);
 elseif(nargin==3)
-   eq = get_mds_tree(shot, tree, server);
+   eq = get_mds_tree_d3d(shot, tree, server);
 elseif(nargin==4)
-   eq = get_mds_tree(shot, tree, server, toupper);
+   eq = get_mds_tree_d3d(shot, tree, server, toupper);
 elseif(nargin==5)
-   eq = get_mds_tree(shot, tree, server, toupper, verbose);
+   eq = get_mds_tree_d3d(shot, tree, server, toupper, verbose);
 end
diff --git a/matlab/D3D/efit/read_mds_eq_func.m b/matlab/D3D/efit/read_mds_eq_func.m
index 41898b6679e7e7091e378fb8e843a2d8ea0d0f7e..4911795102f0ba9380d660f3d449d7db8391581a 100644
--- a/matlab/D3D/efit/read_mds_eq_func.m
+++ b/matlab/D3D/efit/read_mds_eq_func.m
@@ -21,7 +21,7 @@ function [equil,neq,eq,ier] = read_mds_eq_func(shotnum,tree,server,verbose)
 %			(same data produced by read_equil_func)
 %		adata = array of structureus containing aeqdsk data
 %	neq = number of equilibria found
-%	eq  = equilibrium structure returned by get_mds_tree
+%	eq  = equilibrium structure returned by get_mds_tree_d3d
 %	ier = error code
 %
 %  RESTRICTIONS: The bzero and ecase entries of equil.gdata are empty.
@@ -41,7 +41,7 @@ function [equil,neq,eq,ier] = read_mds_eq_func(shotnum,tree,server,verbose)
    neq=0;
    eq=[];
 
-   [eq,ier] = get_mds_tree(shotnum,tree,server,-1,verbose);
+   [eq,ier] = get_mds_tree_d3d(shotnum,tree,server,-1,verbose);
    if(isfield(eq,'results'))
       geq = eq.results.geqdsk;
       if(ischar(geq.psirz) & strncmp(geq.psirz,'Java exception',14))
diff --git a/matlab/D3D/efit/read_mds_eq_func1.m b/matlab/D3D/efit/read_mds_eq_func1.m
index 2de1b3b1a9ea0e8fc7682b0736f8467e8ce197ae..55d6486b587a082349671da5b6aeb40c571de6ec 100644
--- a/matlab/D3D/efit/read_mds_eq_func1.m
+++ b/matlab/D3D/efit/read_mds_eq_func1.m
@@ -21,7 +21,7 @@ function [equil,neq,eq] = read_mds_eq_func1(shotnum,tree,server,verbose)
 %			(same data produced by read_equil_func)
 %		adata = array of structureus containing aeqdsk data
 %	neq = number of equilibria found
-%	eq  = equilibrium structure returned by get_mds_tree
+%	eq  = equilibrium structure returned by get_mds_tree_d3d
 %
 %  RESTRICTIONS: The bzero and ecase entries of equil.gdata are empty.
 
@@ -52,7 +52,7 @@ return;
    neq=0;
    eq=[];
 
-   eq = get_mds_tree(shotnum,tree,server,-1,verbose);
+   eq = get_mds_tree_d3d(shotnum,tree,server,-1,verbose);
    if(~isfield(eq,'results') && ~isfield(eq,'cpasma'))
       wait(['ERROR read_mds_eq_func: No equilibria stored in ' ...
 	tree ' for shot ' int2str(shotnum)])
diff --git a/matlab/D3D/mdsplus_func/get_mds_tree_old.m b/matlab/D3D/mdsplus_func/get_mds_tree_old.m
deleted file mode 100644
index ee752703558c4ea5984abfd8d5ec398d486c8c17..0000000000000000000000000000000000000000
--- a/matlab/D3D/mdsplus_func/get_mds_tree_old.m
+++ /dev/null
@@ -1,301 +0,0 @@
-function  [data,ier,varnames_all,varnames_dot_all] = get_mds_tree(shot, tree, server, toupper, verbose)
-%
-%  SYNTAX:
-%         data= get_mds_tree(shot, tree, server, toupper,verbose); % full call
-%         data= get_mds_tree(shot);                        % defaults to DIII-D
-%         data= get_mds_tree(shot, 'EFIT01', 'NSTX');      % for NSTX
-%         data= get_mds_tree(shot, 'NB', 'DIII-D');        % example other tree
-%
-%  PURPOSE: Get entire selected mds tree from mdsplus database. 
-%
-%  INPUT: <default>
-%    shot    = shot number
-%    tree    = tree to use <'EFIT01'>
-%    server  = MDS+ database to use: 'DIII-D'(default),'NSTX','EAST',
-%		'THOR', 'OPEN'(assumes mdsconnect already called).  Other 
-%		inputs invoke mdsconnect(server) to connect to server.
-%    toupper = 1= all variables made upper case, =-1 all var. made lower case
-%              [0]= no change, variables made depending on mds case (typical UC)
-%    verbose = set to 1 to get diagnostic prints during execution
-%              <1> server= 'NSTX' or 'EAST'; (since can take some time to get)
-%              <0> server= 'DIII-D' & all others;
-%
-%  OUTPUT:
-%    data  = structure containing all data in MDS+ tree, with same tree 
-%	     structure except that 'TOP' replaced by 'tree'
-%            See: data.allnames for list of all variables in full structure 
-%    Some Extra items added to structure (all lower case)
-%      data.id    =   sting array of important data identifyer enf
-%      data.shot  =   shot number
-%      data.server=   MDS+ server
-%      data.allnames= list of variables in structure with path relative to "TOP"
-%      data.mdsnames= list of variables in structure with full mds path
-%    ier = error code
-% 
-%  WRITTEN BY:  Jim Leuer    ON      3/1/05 (original name get_mds_tree)
-%  taken from get_mds_tree.m uses sub-structure to store
-%
-%  USES:   eq_mod
-%  To see MDS structure on HYDRA run traverser
-%  tested on DIII-D and NSTX data and should work for JET data but not tested
-% 
-%  CHANGE LOG:  SMF 20140923 - Changed getnci call to use nid_numbers due to 
-%                              fullpath not accepting wildcards.
-%
-% ==========================================================================
-
-  if nargin==0
-     disp('% get_mds_tree needs at least a "shot" argument')
-     help get_mds_tree
-     return
-  end
-  if nargin < 4
-     toupper=0;
-  end
-  if nargin < 3
-     server='DIII-D';
-  end
-  if nargin < 2
-     tree= 'EFIT01';
-  end
-  if nargin < 5
-    if strcmp(server,'NSTX') | strcmp(server,'EAST')
-     verbose=1;
-    else
-     verbose=0;
-    end
-  end
-  server = upper(server);
-
-  if isempty(toupper)  toupper= 0;       end
-  if isempty(server)   server= 'DIII-D'; end
-  if isempty(tree)     tree= 'EFIT01';   end
-  if isempty(verbose) 
-    if strcmp(server,'NSTX') | strcmp(server,'EAST')
-     verbose=1;
-    else
-     verbose=0;
-    end
-  end
-  
-% -----------------------------------------------
-% Open and check conneciton to MDSPLUS data base:
-  tic
-  ier= 0; status=1;
-  mdsisopen=0;
-% [shoto,status]=mdsopen('atlas.gat.com::EFIT01',shot)
-  if strcmp(server,'DIII-D') | strcmp(server,'DIIID') | strcmp(server,'D3D')
-    status = mdsconnect('atlas.gat.com');
-  elseif strcmp(server,'EAST')
-    status = mdsconnect('202.127.204.12');	% NOT SURE THIS WORKS
-  elseif strcmp(server,'NSTX')
-    status = mdsconnect('skylark.pppl.gov:8501');
-  elseif strcmp(server,'KSTAR')
-    if(strcmp(getenv('HOST'),'datagrid') | strcmp(getenv('HOST'),'ksim2')) % On site at NFRI
-       mds_server =  '172.17.100.200:8300';
-    else % Offsite
-%        mds_server = '203.230.125.212:8005'; 	% not able to connect to NFRI server directly
-        mds_server = 'kd';
-    end    
-    status = mdsconnect(mds_server);
-  elseif strcmp(server,'THOR')
-    status = mdsconnect('thor');
-  elseif strcmp(server,'VIDAR')
-    status = mdsconnect('vidar');
-  elseif strcmp(server,'OPEN')  
-    disp(['get_mds_tree: Assuming MDSCONNECT already called  and MDS is ',server])
-    status = 1;
-  else  
-    disp(['get_mds_tree: Attempting to connect to server = ',server])
-    status = mdsconnect(server);
-  end
-
-  if ~mod(status,2)
-    ier=1;
-    disp(['ERROR get_mds_tree: unable to connect to ' server])
-    data=[];
-    return;
-  end
-
-% Calling this twice seems to work better for NSTX (who knows why?)
-  [shoto,status]=mdsopen(tree,shot);
-  if(~mod(status,2))
-     [shoto,status]=mdsopen(tree,shot);
-  end
-  if ~mod(status,2)
-    ier=1;
-    disp(['ERROR get_mds_tree: unable to open ' tree ' for shot '  ...
-        int2str(shot)])
-    data=[];
-    status=mdsdisconnect;
-    return;
-  else
-    if(verbose)
-       disp(['% get_mds_tree opened tree, shot: ' tree ' ' int2str(shot)])  
-    end
-  end
-
-% add identifier string to structure:
-  data.id= str2mat('mds_efit ', int2str(shot), tree, date);
-  data.shot= shot;
-  data.tree= tree;
-  data.server= server;
-  data.creator= 'get_mds_tree';
-  data.allnames= char([]);
-  data.mdsnames= char([]);
-
-% ===============================================================
-% Get List of tree node names using recursive algorithm & store in mds_all
-% ===============================================================
-  mds_all= char([]);           % storage of all mds path names below TOP
-  mds_nam0= ['\' tree '::TOP']; % Top tree name
-  mds_nam= mds_nam0; % starting tree name
-  top_num= length(mds_nam);
-  mds_ot=  mds_nam;
-  while ~isempty(mds_ot)
-    mds_all= strvcat(mds_all,mds_ot);
-    mds_ot= mds_sub_tree(mds_ot);
-  end
-    
-% ===============================================================
-% Process each name in mds_all for all variables present
-% ===============================================================
-  for kk=1:size(mds_all,1)
-%   kk=0; kk=kk+1
-%   kk
-    mds_nam = deblank(mds_all(kk,:));
-    mdscmd = ['getnci("\' mds_nam ':*","NID_NUMBER")'];
-%    mdscmd_dot = ['getnci("\' mds_nam '.*","NID_NUMBER")'];
-    [mds_nids,mstatus] = mdsvalue(mdscmd); 
-%    [mds_nids_dot,mstatus_dot] = mdsvalue(mdscmd_dot); 
-    if ~mod(mstatus,2) % handle nstx different format
-       mdscmd = ['getnci("\\\' mds_nam ':*","NID_NUMBER")'];
-       [mds_nids,mstatus] = mdsvalue(mdscmd); 
-    end
-    varnames = [];
-    if mod(mstatus,2)
-       num_nids = length(mds_nids);
-       varnames = cell(1,num_nids);
-       for j=1:num_nids
-          mdscmd = ['getnci(' num2str(mds_nids(j)) ',"FULLPATH")'];
-          varnames{j} = char(mdsvalue(mdscmd));
-       end
-    else
-%       fprintf('WARNING get_mds_tree: Bad mds status for command = %s\n',mdscmd);
-    end
-% $$$     if mod(mstatus_dot,2)
-% $$$        num_nids_dot = length(mds_nids_dot);
-% $$$        varnames_dot = cell(1,num_nids_dot);
-% $$$        for j=1:num_nids_dot
-% $$$           mdscmd_dot = ['getnci(' num2str(mds_nids_dot(j)) ',"FULLPATH")'];
-% $$$           varnames_dot{j} = char(mdsvalue(mdscmd_dot));
-% $$$           varnames_dot_all{kk,j} = varnames_dot{j};
-% $$$        end
-% $$$     end
-    varnamesc = char(varnames);
-    idgood = strmatch(upper(mds_nam0),upper(varnamesc));
-    varnamesc = varnamesc(idgood,:);
-    data_namesc = varnamesc(:,top_num+2:end);    
-    numvar = size(varnamesc,1);
-       
-% loop over all variables
-    if numvar>=30
-       tic
-       for ii= 1:numvar
-%         ii=0; ii=ii+1;
-          fullnam= deblank(varnamesc(ii,:)); 
-          data.mdsnames= strvcat(data.mdsnames,fullnam);
-          dat=  mdsvalue(fullnam);  % Actual value of data 
-
-          subnam= deblank(data_namesc(ii,:)); %      
-          id= findstr(subnam,':');
-	  subnam(id)= '.';
-          if toupper==1
-	     subnam= upper(subnam);
-	  elseif toupper==-1
-	     subnam= lower(subnam);
-	  end
-          totnam= deblank(subnam); % now relative address rather than absolute address allow for data name chg
-          if toc > 5 | ii==1
-            if(verbose)
-               disp(['% get_mds_tree Reading ' int2str(ii) '/', int2str(numvar),' variable: ', totnam]);
-            end
-            tic
-          end  % if toc
-          data.allnames= strvcat(data.allnames,totnam);
-          str= ['data.' totnam '= dat;'];
-          eval(str);
-       end   % for ii
-
-    elseif numvar>=1 % if numvar >=1
-       for ii= 1:numvar
-          fullnam= deblank(varnamesc(ii,:));
-          data.mdsnames= strvcat(data.mdsnames,fullnam);
-          dat=  mdsvalue(fullnam);  % Actual value of data 
-
-          subnam= deblank(data_namesc(ii,:)); %      
-          id= findstr(subnam,':');
-	  subnam(id)= '.';
-          if toupper==1
-	     subnam= upper(subnam);
-	  elseif toupper==-1
-	     subnam= lower(subnam);
-	  end
-          totnam= deblank(subnam);
-          if ii==1
-            if(verbose)
-               disp(['% get_mds_tree Reading ' int2str(ii) '/',int2str(numvar),' variable: ', totnam]);
-            end
-          end  % if ii
-          data.allnames= strvcat(data.allnames,totnam);
-          str= ['data.' totnam '= dat;'];
-          eval(str);
-       end   % for ii
-    end    % if numvar
-  end      % for kk    
-     
-  if strcmp(server,'NSTX') | strcmp(server,'EAST')
-     status=mdsdisconnect;  % Exit MDS+ if conneced to remote server
-  end
-
- return
-  
-% ========================================================
-% Testing
-% ========================================================
-  
-% Testing SEE test_get_mds_tree
-% (WATCH OUT 114504 has problems use 98549 Ferron High Performance)
-
-%  data= get_mds_tree(114504);
-%  data=  get_mds_tree(98549, 'EFIT01', 'DIII-D');
-%  data=  get_mds_tree(98549, 'd3d', 'DIII-D');
-
-  data=  get_mds_tree(98549, [], [], -1);
-  data= eq_mk_time_last(data); % puts time at end (i.e. (130,1) => (1,130)
-
-  shot=98549; tree='EFIT01'; server='DIII-D'; toupper=-1; % make all lc variables
-%  tree='d3d'; tree='IONS'
-  data=  get_mds_tree(shot, tree, server, toupper);
-  data=  get_mds_tree(98549, [], [], -1);
-  data=  get_mds_tree(shot, tree, 'OPEN', toupper);
-
-  filename='/u/leuer/efit/diiid/s98549/g098549.04000' %
-  read_gfile
-
-  shot=98549; tree='IONS'; server='DIII-D'; toupper=-1; 
-  ions=  get_mds_tree(shot, tree, server, toupper);
-  shot=98549; tree='NB'; server='DIII-D'; toupper=-1; 
-  nb=  get_mds_tree(shot, tree, server, toupper);
-
-% ========================================================
-% Check NSTX:
-%  shot=110843; tree='EFIT01'; server='NSTX';
-
-  data=  get_mds_tree(113363, 'EFIT01','NSTX');
-  data= eq_mk_time_last(data); % puts time at end (i.e. (130,1) => (1,130)
-
-  shot=113363; tree='EFIT01'; server='NSTX';
-  clear data
-  data=  get_mds_tree(shot, tree, server);
-
diff --git a/matlab/D3D/mdsplus_func/private/get_mds_tree.m b/matlab/D3D/mdsplus_func/private/get_mds_tree.m
deleted file mode 100644
index 4bf12703971fc1526fd4e108ba39d3d6b336c563..0000000000000000000000000000000000000000
--- a/matlab/D3D/mdsplus_func/private/get_mds_tree.m
+++ /dev/null
@@ -1,291 +0,0 @@
-function  [data,ier] = get_mds_tree(shot, tree, server, toupper, verbose)
-%
-%  SYNTAX:
-%         data= get_mds_tree(shot, tree, server, toupper,verbose); % full call
-%         data= get_mds_tree(shot);                        % defaults to DIII-D
-%         data= get_mds_tree(shot, 'EFIT01', 'NSTX');      % for NSTX
-%         data= get_mds_tree(shot, 'NB', 'DIII-D');        % example other tree
-%
-%  PURPOSE: Get entire selected mds tree from mdsplus database. 
-%
-%  INPUT: <default>
-%    shot    = shot number
-%    tree    = tree to use <'EFIT01'>
-%    server  = MDS+ database to use: 'DIII-D'(default),'NSTX','EAST',
-%		'THOR', 'OPEN'(assumes mdsconnect already called).  Other 
-%		inputs invoke mdsconnect(server) to connect to server.
-%    toupper = 1= all variables made upper case, =-1 all var. made lower case
-%              [0]= no change, variables made depending on mds case (typical UC)
-%    verbose = set to 1 to get diagnostic prints during execution
-%              <1> server= 'NSTX' or 'EAST'; (since can take some time to get)
-%              <0> server= 'DIII-D' & all others;
-%
-%  OUTPUT:
-%    data  = structure containing all data in MDS+ tree, with same tree 
-%	     structure except that 'TOP' replaced by 'tree'
-%            See: data.allnames for list of all variables in full structure 
-%    Some Extra items added to structure (all lower case)
-%      data.id    =   sting array of important data identifyer enf
-%      data.shot  =   shot number
-%      data.server=   MDS+ server
-%      data.allnames= list of variables in structure with path relative to "TOP"
-%      data.mdsnames= list of variables in structure with full mds path
-%    ier = error code
-% 
-%  WRITTEN BY:  Jim Leuer    ON      3/1/05 (original name get_mds_tree)
-%  taken from get_mds_tree.m uses sub-structure to store
-%
-%  USES:   eq_mod
-%  To see MDS structure on HYDRA run traverser
-%  tested on DIII-D and NSTX data and should work for JET data but not tested
-% 
-%  CHANGE LOG:  SMF 20140923 - Changed getnci call to use nid_numbers due to 
-%                              fullpath not accepting wildcards.
-%
-% ==========================================================================
-
-  if nargin==0
-     disp('% get_mds_tree needs at least a "shot" argument')
-     help get_mds_tree
-     return
-  end
-  if nargin < 4
-     toupper=0;
-  end
-  if nargin < 3
-     server='DIII-D';
-  end
-  if nargin < 2
-     tree= 'EFIT01';
-  end
-  if nargin < 5
-    if strcmp(server,'NSTX') | strcmp(server,'EAST')
-     verbose=1;
-    else
-     verbose=0;
-    end
-  end
-  server = upper(server);
-
-  if isempty(toupper)  toupper= 0;       end
-  if isempty(server)   server= 'DIII-D'; end
-  if isempty(tree)     tree= 'EFIT01';   end
-  if isempty(verbose) 
-    if strcmp(server,'NSTX') | strcmp(server,'EAST')
-     verbose=1;
-    else
-     verbose=0;
-    end
-  end
-  
-% -----------------------------------------------
-% Open and check conneciton to MDSPLUS data base:
-  tic
-  ier= 0; status=1;
-  mdsisopen=0;
-% [shoto,status]=mdsopen('atlas.gat.com::EFIT01',shot)
-  if strcmp(server,'DIII-D') | strcmp(server,'DIIID') | strcmp(server,'D3D')
-    status = mdsconnect('atlas.gat.com');
-  elseif strcmp(server,'EAST')
-    status = mdsconnect('202.127.204.12');	% NOT SURE THIS WORKS
-  elseif strcmp(server,'NSTX')
-    status = mdsconnect('skylark.pppl.gov:8501');
-  elseif strcmp(server,'KSTAR')
-    if(strcmp(getenv('HOST'),'datagrid') | strcmp(getenv('HOST'),'ksim2')) % On site at NFRI
-       mds_server =  '172.17.100.200:8300';
-    else % Offsite
-%        mds_server = '203.230.125.212:8005'; 	% not able to connect to NFRI server directly
-        mds_server = 'kd';
-    end    
-    status = mdsconnect(mds_server);
-  elseif strcmp(server,'THOR')
-    status = mdsconnect('thor');
-  elseif strcmp(server,'VIDAR')
-    status = mdsconnect('vidar');
-  elseif strcmp(server,'OPEN')  
-    disp(['get_mds_tree: Assuming MDSCONNECT already called  and MDS is ',server])
-    status = 1;
-  else  
-    disp(['get_mds_tree: Attempting to connect to server = ',server])
-    status = mdsconnect(server);
-  end
-
-  if ~mod(status,2)
-    ier=1;
-    disp(['ERROR get_mds_tree: unable to connect to ' server])
-    data=[];
-    return;
-  end
-
-% Calling this twice seems to work better for NSTX (who knows why?)
-  [shoto,status]=mdsopen(tree,shot);
-  if(~mod(status,2))
-     [shoto,status]=mdsopen(tree,shot);
-  end
-  if ~mod(status,2)
-    ier=1;
-    disp(['ERROR get_mds_tree: unable to open ' tree ' for shot '  ...
-        int2str(shot)])
-    data=[];
-    status=mdsdisconnect;
-    return;
-  else
-    if(verbose)
-       disp(['% get_mds_tree opened tree, shot: ' tree ' ' int2str(shot)])  
-    end
-  end
-
-% add identifier string to structure:
-  data.id= str2mat('mds_efit ', int2str(shot), tree, date);
-  data.shot= shot;
-  data.tree= tree;
-  data.server= server;
-  data.creator= 'get_mds_tree';
-  data.allnames= char([]);
-  data.mdsnames= char([]);
-
-% ===============================================================
-% Get List of tree node names using recursive algorithm & store in mds_all
-% ===============================================================
-  mds_all= char([]);           % storage of all mds path names below TOP
-  mds_nam0= ['\' tree '::TOP']; % Top tree name
-  mds_nam= mds_nam0; % starting tree name
-  top_num= length(mds_nam);
-  mds_ot=  mds_nam;
-  while ~isempty(mds_ot)
-    mds_all= strvcat(mds_all,mds_ot);
-    mds_ot= mds_sub_tree(mds_ot);
-  end
-    
-% ===============================================================
-% Process each name in mds_all for all variables present
-% ===============================================================
-  for kk=1:size(mds_all,1)
-%   kk=0; kk=kk+1
-%   kk
-    mds_nam = deblank(mds_all(kk,:));
-    mdscmd = ['getnci("\' mds_nam ':*","NID_NUMBER")'];
-    [mds_nids,mstatus] = mdsvalue(mdscmd); 
-    if ~mod(mstatus,2) % handle nstx different format
-       mdscmd = ['getnci("\\\' mds_nam ':*","NID_NUMBER")'];
-       [mds_nids,mstatus] = mdsvalue(mdscmd); 
-    end
-    varnames = [];
-    if mod(mstatus,2)
-       num_nids = length(mds_nids);
-       varnames = cell(1,num_nids);
-       for j=1:num_nids
-          mdscmd = ['getnci(' num2str(mds_nids(j)) ',"FULLPATH")'];
-          varnames{j} = char(mdsvalue(mdscmd));
-       end
-    else
-%       fprintf('WARNING get_mds_tree: Bad mds status for command = %s\n',mdscmd);
-    end
-
-    varnamesc = char(varnames);
-    idgood = strmatch(upper(mds_nam0),upper(varnamesc));
-    varnamesc = varnamesc(idgood,:);
-    data_namesc = varnamesc(:,top_num+2:end);    
-    numvar = size(varnamesc,1);
-       
-% loop over all variables
-    if numvar>=30
-       tic
-       for ii= 1:numvar
-%         ii=0; ii=ii+1;
-          fullnam= deblank(varnamesc(ii,:)); 
-          data.mdsnames= strvcat(data.mdsnames,fullnam);
-          dat=  mdsvalue(fullnam);  % Actual value of data 
-
-          subnam= deblank(data_namesc(ii,:)); %      
-          id= findstr(subnam,':');
-	  subnam(id)= '.';
-          if toupper==1
-	     subnam= upper(subnam);
-	  elseif toupper==-1
-	     subnam= lower(subnam);
-	  end
-          totnam= deblank(subnam); % now relative address rather than absolute address allow for data name chg
-          if toc > 5 | ii==1
-            if(verbose)
-               disp(['% get_mds_tree Reading ' int2str(ii) '/', int2str(numvar),' variable: ', totnam]);
-            end
-            tic
-          end  % if toc
-          data.allnames= strvcat(data.allnames,totnam);
-          str= ['data.' totnam '= dat;'];
-          eval(str);
-       end   % for ii
-
-    elseif numvar>=1 % if numvar >=1
-       for ii= 1:numvar
-          fullnam= deblank(varnamesc(ii,:));
-          data.mdsnames= strvcat(data.mdsnames,fullnam);
-          dat=  mdsvalue(fullnam);  % Actual value of data 
-
-          subnam= deblank(data_namesc(ii,:)); %      
-          id= findstr(subnam,':');
-	  subnam(id)= '.';
-          if toupper==1
-	     subnam= upper(subnam);
-	  elseif toupper==-1
-	     subnam= lower(subnam);
-	  end
-          totnam= deblank(subnam);
-          if ii==1
-            if(verbose)
-               disp(['% get_mds_tree Reading ' int2str(ii) '/',int2str(numvar),' variable: ', totnam]);
-            end
-          end  % if ii
-          data.allnames= strvcat(data.allnames,totnam);
-          str= ['data.' totnam '= dat;'];
-          eval(str);
-       end   % for ii
-    end    % if numvar
-  end      % for kk    
-     
-  if strcmp(server,'NSTX') | strcmp(server,'EAST')
-     status=mdsdisconnect;  % Exit MDS+ if conneced to remote server
-  end
-
- return
-  
-% ========================================================
-% Testing
-% ========================================================
-  
-% Testing SEE test_get_mds_tree
-% (WATCH OUT 114504 has problems use 98549 Ferron High Performance)
-
-%  data= get_mds_tree(114504);
-%  data=  get_mds_tree(98549, 'EFIT01', 'DIII-D');
-%  data=  get_mds_tree(98549, 'd3d', 'DIII-D');
-
-  data=  get_mds_tree(98549, [], [], -1);
-  data= eq_mk_time_last(data); % puts time at end (i.e. (130,1) => (1,130)
-
-  shot=98549; tree='EFIT01'; server='DIII-D'; toupper=-1; % make all lc variables
-%  tree='d3d'; tree='IONS'
-  data=  get_mds_tree(shot, tree, server, toupper);
-  data=  get_mds_tree(98549, [], [], -1);
-  data=  get_mds_tree(shot, tree, 'OPEN', toupper);
-
-  filename='/u/leuer/efit/diiid/s98549/g098549.04000' %
-  read_gfile
-
-  shot=98549; tree='IONS'; server='DIII-D'; toupper=-1; 
-  ions=  get_mds_tree(shot, tree, server, toupper);
-  shot=98549; tree='NB'; server='DIII-D'; toupper=-1; 
-  nb=  get_mds_tree(shot, tree, server, toupper);
-
-% ========================================================
-% Check NSTX:
-%  shot=110843; tree='EFIT01'; server='NSTX';
-
-  data=  get_mds_tree(113363, 'EFIT01','NSTX');
-  data= eq_mk_time_last(data); % puts time at end (i.e. (130,1) => (1,130)
-
-  shot=113363; tree='EFIT01'; server='NSTX';
-  clear data
-  data=  get_mds_tree(shot, tree, server);
-
diff --git a/matlab/D3D/mdsplus_func/private/getmds.m b/matlab/D3D/mdsplus_func/private/getmds.m
index 78e3cb2e85bef06eedcd18ad3e456fbcc1294964..a1141484c48b9f1c7233a01aec7c0e2313f89c27 100644
--- a/matlab/D3D/mdsplus_func/private/getmds.m
+++ b/matlab/D3D/mdsplus_func/private/getmds.m
@@ -1,7 +1,7 @@
 % MDSplus data manipulation functions.
 %
 % getmds        - get data from the MDSplus database
-% get_mds_tree  - get entire tree out of mdsplus
+% get_mds_tree_d3d  - get entire tree out of mdsplus
 % mdsclose      - close an MDSplus tree
 % mdsconnect    - connect to MDSplus server
 % mdsdisconnect - disconnect from MDSplus server