diff --git a/code/classes/SCDclass_mdsobjcontainer.m b/code/classes/SCDclass_mdsobjcontainer.m index ae7e84ec91bd532b88316280fe7822725eaf2f35..3e08ccb3c464320927614932ab8efca68bc8000b 100644 --- a/code/classes/SCDclass_mdsobjcontainer.m +++ b/code/classes/SCDclass_mdsobjcontainer.m @@ -243,28 +243,42 @@ classdef SCDclass_mdsobjcontainer end - function printMARTe2parconfig(obj, shot) - for ii=1:obj.numparams - if(strcmp(obj.modeltogenerate,'all')) + function printMARTe2parconfig(obj, shot) + switch obj.modeltogenerate + case 'all' + iorder = getParamsServerTreeOrder(obj); % order entries following mdsserver, mdstree order + for ii=1:obj.numparams + jj = iorder(ii); + str = obj.mdsparams(jj).genMARTe2entry(shot); + fprintf(" %s\n",str); + end + otherwise + for ii=1:obj.numparams + if(strcmp(obj.modeltogenerate,obj.mdsparams(ii).getmodelname)) str=obj.mdsparams(ii).genMARTe2entry(shot); fprintf(" %s\n",str); - else - if(strcmp(obj.modeltogenerate,obj.mdsparams(ii).getmodelname)) - str=obj.mdsparams(ii).genMARTe2entry(shot); - fprintf(" %s\n",str); - end - end - - end + end + end + end end - - function printMARTe2wgconfig(obj, shot) - for ii=1:obj.numwavegens - if(strcmp(obj.modeltogenerate,'all')) - str=obj.mdswavegens(ii).genMARTe2entry(shot); - fprintf(" %s\n",str); + function iorder = getParamsServerTreeOrder(obj) + % find server-tree order of parameters + mdsservertree = cell(numel(obj.mdsparams),2); + for ii=1:numel(obj.mdsparams) + mdsservertree{ii,1} = obj.mdsparams(ii).getMDSserver; + mdsservertree{ii,2} = obj.mdsparams(ii).getMDStree; + end + [~,iorder] = sortrows(mdsservertree); + end + + + function printMARTe2wgconfig(obj, shot) + for ii=1:obj.numwavegens + if(strcmp(obj.modeltogenerate,'all')) + str=obj.mdswavegens(ii).genMARTe2entry(shot); + fprintf(" %s\n",str); else if(strcmp(obj.modeltogenerate,obj.mdswavegens(ii).getmodelname)) str=obj.mdswavegens(ii).genMARTe2entry(shot); @@ -277,4 +291,3 @@ classdef SCDclass_mdsobjcontainer end end - diff --git a/code/classes/SCDclass_mdspar.m b/code/classes/SCDclass_mdspar.m index ed9033333c39ac3bc0a387cdca3831aad02c6f9c..0c36c55917607c957676f642d19c904561a2a8db 100644 --- a/code/classes/SCDclass_mdspar.m +++ b/code/classes/SCDclass_mdspar.m @@ -149,6 +149,14 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous out = obj.modelparam; end + function [mdsserver] = getMDSserver(obj) + mdsserver = obj.mdsserver; + end + + function [mdstree] = getMDStree(obj) + mdstree = obj.mdstree; + end + function obj = setparamstructure(obj, structname) %obj.modelparam = [structname '.' obj.modelparam]; if(isempty(obj.modeltpstruct)) @@ -175,7 +183,8 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous %[obj,~]=obj.getdata(shot); obj=obj.actualizetdiexpr(shot); %entrystring = ['+' obj.modeltargetpar ' = { Class=' obj.classname ' Path=' obj.tdiexprused ' }']; - entrystring = ['+' obj.modeltargetpar ' = { Class=' obj.classname ' Path=' obj.tdiexprused]; +% entrystring = ['+' obj.modeltargetpar ' = { Class=' obj.classname ' Path=' obj.tdiexprused ' Server=' obj.mdsserver, ' Tree=' obj.mdstree]; + entrystring = sprintf('+%-25s = { Class=%-30s Path=%-35s Server=%-25s Tree=%-25s',obj.modeltargetpar,obj.classname,obj.tdiexprused,obj.mdsserver,obj.mdstree); end end