diff --git a/code/classes/SCDclass_expcode.m b/code/classes/SCDclass_expcode.m index c9a6f86c863e524cfe18a70788c57a8b520eea2c..a13f5815a75be9e21faaee2c5f62d27be55b34f4 100644 --- a/code/classes/SCDclass_expcode.m +++ b/code/classes/SCDclass_expcode.m @@ -521,11 +521,7 @@ classdef SCDclass_expcode end - fprintf("+MDSParameters = {\n"); - fprintf(" Class = MDSParameters\n"); - fprintf(" Shot = %d\n",shot); obj.mdscontainer.printMARTe2parconfig(shot); - fprintf("}\n"); fprintf("+MDSWavegens = {\n"); fprintf(" Class = MDSWavegens\n"); diff --git a/code/classes/SCDclass_mdsobjcontainer.m b/code/classes/SCDclass_mdsobjcontainer.m index 3e08ccb3c464320927614932ab8efca68bc8000b..f9d9fede2c0106479009ec29f7d7fac48d99aec0 100644 --- a/code/classes/SCDclass_mdsobjcontainer.m +++ b/code/classes/SCDclass_mdsobjcontainer.m @@ -247,11 +247,31 @@ classdef SCDclass_mdsobjcontainer 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); + prevServer = ''; % init + + % Header for MDS for loader + loaderStr = sprintf('\n\n+MDSLoader = {\n Class=SPCMDSLoader \n Shot=%d\n',shot); + fprintf("%s",loaderStr); + + for ii=1:obj.numparams + mymdsparam = obj.mdsparams(iorder(ii)); + + currentServer = mymdsparam.getMDSserver; + + % generate header for MDSsource if necessary + if ~strcmp(currentServer,prevServer) %if a new server needs to be opened + if ii~=1, fprintf(' }\n'), end + % print new source header + fprintf("%s\n",mymdsparam.genMARTe2MDSsourcestr); + end + prevServer = currentServer; + + % generate data source entry + str = mymdsparam.genMARTe2entry(shot); fprintf(" %s\n",str); end + fprintf("}\n\n"); + otherwise for ii=1:obj.numparams if(strcmp(obj.modeltogenerate,obj.mdsparams(ii).getmodelname)) diff --git a/code/classes/SCDclass_mdspar.m b/code/classes/SCDclass_mdspar.m index 0c36c55917607c957676f642d19c904561a2a8db..f7b27e2fb8facf69464f87a41e56bd2a02e86b68 100644 --- a/code/classes/SCDclass_mdspar.m +++ b/code/classes/SCDclass_mdspar.m @@ -186,7 +186,10 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous % 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 - + + function str = genMARTe2MDSsourcestr(obj) + str = sprintf(' +MDSSource = {\n Class=SPCMDSSource\n Server=%s\n Tree=%s',obj.mdsserver,obj.mdstree); + end end diff --git a/code/classes/SCDclass_mdsparvector.m b/code/classes/SCDclass_mdsparvector.m index 22673b65a200c4b2e33ec50b051f11c61f751345..c0f6f7037df58648708f9ae4116d105ed5456bee 100644 --- a/code/classes/SCDclass_mdsparvector.m +++ b/code/classes/SCDclass_mdsparvector.m @@ -33,7 +33,6 @@ classdef SCDclass_mdsparvector < SCDclass_mdspar entrystring=obj.genMARTe2entrycommon(shot); entrystring=[entrystring ' }']; end - end end