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