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