Index: sm/trunk/src/m/classes/lclist_write.m
===================================================================
--- /issm/trunk/src/m/classes/lclist_write.m	(revision 9497)
+++ 	(revision )
@@ -1,62 +1,0 @@
-%
-%  function to write linear constraint list
-%
-function []=lclist_write(fidi,cstring,cstring2,dvar)
-
-if isempty(dvar)
-    return;
-end
-
-%  put linear constraints into lists for writing
-
-nvar=0;
-pmatrix=[];
-plower =[];
-pupper =[];
-ptarget=[];
-pstype =[];
-pscale =[];
-
-fnames=fieldnames(dvar);
-for i=1:numel(fnames)
-    nvar=nvar+numel(dvar.(fnames{i}));
-    pmatrix=[pmatrix prop_matrix(dvar.(fnames{i}))];
-    plower =[plower  prop_lower(dvar.(fnames{i})) ];
-    pupper =[pupper  prop_upper(dvar.(fnames{i})) ];
-    ptarget=[ptarget prop_target(dvar.(fnames{i}))];
-    pstype =[pstype  prop_stype(dvar.(fnames{i})) ];
-    pscale =[pscale  prop_scale(dvar.(fnames{i})) ];
-end
-
-%  write linear constraints
-
-disp(sprintf('  Writing %d %s linear constraints.',...
-    nvar,cstring));
-
-if ~isempty(pmatrix)
-    fprintf(fidi,'\t  %s_matrix =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pmatrix,6,76);
-end
-if ~isempty(plower)
-    fprintf(fidi,'\t  %s_lower_bounds =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),plower ,6,76);
-end
-if ~isempty(pupper)
-    fprintf(fidi,'\t  %s_upper_bounds =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pupper ,6,76);
-end
-if ~isempty(ptarget)
-    fprintf(fidi,'\t  %s_targets =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),ptarget,6,76);
-end
-if ~isempty(pstype)
-    fprintf(fidi,'\t  %s_scale_types =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pstype ,6,76);
-end
-if ~isempty(pscale)
-    fprintf(fidi,'\t  %s_scales =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pscale ,6,76);
-end
-
-end
-
Index: sm/trunk/src/m/classes/param_write.m
===================================================================
--- /issm/trunk/src/m/classes/param_write.m	(revision 9497)
+++ 	(revision )
@@ -1,24 +1,0 @@
-%
-%  function to write a parameter
-%
-function []=param_write(fidi,sbeg,pname,smid,send,params)
-
-if ~isfield(params,pname)
-    warning('param_write:param_not_found',...
-        'Parameter ''%s'' not found in structure.',pname);
-    return
-end
-
-if islogical(params.(pname)) && ~params.(pname)
-    return
-end
-
-if     islogical(params.(pname))
-    fprintf(fidi,[sbeg '%s' send],pname);
-elseif ischar   (params.(pname))
-    fprintf(fidi,[sbeg '%s' smid '%s' send],pname,params.(pname));
-elseif isnumeric(params.(pname))
-    fprintf(fidi,[sbeg '%s' smid '%g' send],pname,params.(pname));
-end
-
-end
Index: sm/trunk/src/m/classes/rlev_write.m
===================================================================
--- /issm/trunk/src/m/classes/rlev_write.m	(revision 9497)
+++ 	(revision )
@@ -1,66 +1,0 @@
-%
-%  function to write response levels
-%
-function []=rlev_write(fidi,dresp,params)
-
-if isempty(dresp)
-    return;
-end
-
-%  put responses into lists for writing
-
-nresp=0;
-respl={};
-probl={};
-rell ={};
-grell={};
-
-fnames=fieldnames(dresp);
-for i=1:numel(fnames)
-    nresp=nresp+numel(dresp.(fnames{i}));
-    [respli,probli,relli,grelli]=prop_levels(dresp.(fnames{i}));
-    respl=[respl respli];
-    probl=[probl probli];
-    rell =[rell  relli ];
-    grell=[grell grelli];
-end
-
-%  write response levels
-
-param_write(fidi,'\t  ','distribution',' ','\n',params);
-if ~isempty(respl)
-    rlevi_write(fidi,'response_levels',respl);
-    param_write(fidi,'\t  ','compute',' ','\n',params);
-end 
-if ~isempty(probl)
-    rlevi_write(fidi,'probability_levels',probl);
-end
-if ~isempty(rell)
-    rlevi_write(fidi,'reliability_levels',rell);
-end
-if ~isempty(grell)
-    rlevi_write(fidi,'gen_reliability_levels',grell);
-end
-
-end
-
-%
-%  function to each type of response level
-%
-function []=rlevi_write(fidi,ltype,levels)
-
-fprintf(fidi,'\t  num_%s =',ltype);
-for i=1:numel(levels)
-    fprintf(fidi,' %d',length(levels{i}));
-end
-fprintf(fidi,'\n');
-
-fprintf(fidi,'\t  %s =\n',ltype);
-
-for i=1:numel(levels)
-    if ~isempty(levels{i})
-        vector_write(fidi,sprintf('\t    '),levels{i},8,76);
-    end
-end
-
-end
Index: sm/trunk/src/m/classes/rlist_write.m
===================================================================
--- /issm/trunk/src/m/classes/rlist_write.m	(revision 9497)
+++ 	(revision )
@@ -1,70 +1,0 @@
-%
-%  function to write response list
-%
-function [rdesc]=rlist_write(fidi,cstring,cstring2,dresp,rdesc)
-
-if isempty(dresp)
-    return;
-end
-
-%  put responses into lists for writing
-%  (and accumulate descriptors into list for subsequent writing)
-
-nresp=0;
-pstype =[];
-pscale =[];
-pweight=[];
-plower =[];
-pupper =[];
-ptarget=[];
-
-fnames=fieldnames(dresp);
-for i=1:numel(fnames)
-    nresp=nresp+numel(dresp.(fnames{i}));
-    pstype =[pstype  prop_stype(dresp.(fnames{i})) ];
-    pscale =[pscale  prop_scale(dresp.(fnames{i})) ];
-    pweight=[pweight prop_weight(dresp.(fnames{i}))];
-    plower =[plower  prop_lower(dresp.(fnames{i})) ];
-    pupper =[pupper  prop_upper(dresp.(fnames{i})) ];
-    ptarget=[ptarget prop_target(dresp.(fnames{i}))];
-    rdesc  =[rdesc   prop_desc(dresp.(fnames{i}),fnames{i})];
-end
-
-%  write responses
-
-disp(sprintf('  Writing %d %s responses.',nresp,cstring));
-
-fprintf(fidi,'\tnum_%s = %d\n',cstring,nresp);
-if ~isempty(pstype)
-    fprintf(fidi,'\t  %s_scale_types =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pstype ,6,76);
-end
-if ~isempty(pscale)
-    fprintf(fidi,'\t  %s_scales =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pscale ,6,76);
-end
-if ~isempty(pweight)
-    switch cstring2
-        case 'objective_function'
-            fprintf(fidi,'\t  %s_weights =\n','multi_objective');
-            vector_write(fidi,sprintf('\t    '),pweight,6,76);
-        case 'least_squares_term'
-            fprintf(fidi,'\t  %s_weights =\n','least_squares');
-            vector_write(fidi,sprintf('\t    '),pweight,6,76);
-    end
-end
-if ~isempty(plower)
-    fprintf(fidi,'\t  %s_lower_bounds =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),plower ,6,76);
-end
-if ~isempty(pupper)
-    fprintf(fidi,'\t  %s_upper_bounds =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pupper ,6,76);
-end
-if ~isempty(ptarget)
-    fprintf(fidi,'\t  %s_targets =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),ptarget,6,76);
-end
-
-end
-
Index: sm/trunk/src/m/classes/vector_write.m
===================================================================
--- /issm/trunk/src/m/classes/vector_write.m	(revision 9497)
+++ 	(revision )
@@ -1,52 +1,0 @@
-
-%%  function to write a vector on multiple lines
-
-function []=vector_write(fidi,sbeg,vec,nmax,cmax)
-
-if ~exist('nmax','var') || isempty(nmax)
-    nmax=Inf;
-end
-if ~exist('cmax','var') || isempty(cmax)
-    cmax=Inf;
-end
-
-%  set up first iteration
-
-svec =[];
-nitem=nmax;
-lsvec=cmax;
-
-%  transpose vector from column-wise to row-wise
-
-vec=vec';
-
-%  assemble each line, flushing when necessary
-
-for i=1:numel(vec)
-    if isnumeric(vec(i))
-        sitem=sprintf('%g'    ,vec(i));
-    else
-        sitem=sprintf('''%s''',char(vec(i)));
-    end
-    nitem=nitem+1;
-    lsvec=lsvec+1+length(sitem);
-    
-    if (nitem <= nmax) && (lsvec <= cmax)
-        svec=[svec ' ' sitem];
-    else
-        if ~isempty(svec)
-            fprintf(fidi,'%s\n',svec);
-        end
-        svec=[sbeg sitem];
-        nitem=1;
-        lsvec=length(svec);
-    end
-end
-
-%  flush buffer at end, if necessary
-
-if ~isempty(svec)
-    fprintf(fidi,'%s\n',svec);
-end
-
-end
Index: sm/trunk/src/m/classes/vlist_write.m
===================================================================
--- /issm/trunk/src/m/classes/vlist_write.m	(revision 9497)
+++ 	(revision )
@@ -1,80 +1,0 @@
-%
-%  function to write variable list
-%
-function []=vlist_write(fidi,cstring,cstring2,dvar)
-
-if isempty(dvar)
-    return;
-end
-
-%  put variables into lists for writing
-
-nvar=0;
-pinitpt=[];
-plower =[];
-pupper =[];
-pmean  =[];
-pstddev=[];
-pinitst=[];
-pstype =[];
-pscale =[];
-pdesc  =[];
-
-fnames=fieldnames(dvar);
-for i=1:numel(fnames)
-    nvar=nvar+numel(dvar.(fnames{i}));
-    pinitpt=[pinitpt prop_initpt(dvar.(fnames{i}))];
-    plower =[plower  prop_lower(dvar.(fnames{i})) ];
-    pupper =[pupper  prop_upper(dvar.(fnames{i})) ];
-    pmean  =[pmean   prop_mean(dvar.(fnames{i}))  ];
-    pstddev=[pstddev prop_stddev(dvar.(fnames{i}))];
-    pinitst=[pinitst prop_initst(dvar.(fnames{i}))];
-    pstype =[pstype  prop_stype(dvar.(fnames{i})) ];
-    pscale =[pscale  prop_scale(dvar.(fnames{i})) ];
-    pdesc  =[pdesc   prop_desc(dvar.(fnames{i}),fnames{i})];
-end
-
-%  write variables
-%  (using Dakota 4.1 syntax for backward compatability)
-
-disp(sprintf('  Writing %d %s variables.',nvar,cstring));
-
-fprintf(fidi,'\t%s = %d\n',cstring,nvar);
-if ~isempty(pinitpt)
-    fprintf(fidi,'\t  %s_initial_point =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pinitpt,6,76);
-end
-if ~isempty(plower)
-    fprintf(fidi,'\t  %s_lower_bounds =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),plower ,6,76);
-end
-if ~isempty(pupper)
-    fprintf(fidi,'\t  %s_upper_bounds =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pupper ,6,76);
-end
-if ~isempty(pmean)
-    fprintf(fidi,'\t  %s_means =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pmean  ,6,76);
-end
-if ~isempty(pstddev)
-    fprintf(fidi,'\t  %s_std_deviations =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pstddev,6,76);
-end
-if ~isempty(pinitst)
-    fprintf(fidi,'\t  %s_initial_state =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pinitst,6,76);
-end
-if ~isempty(pstype)
-    fprintf(fidi,'\t  %s_scale_types =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pstype ,6,76);
-end
-if ~isempty(pscale)
-    fprintf(fidi,'\t  %s_scales =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pscale ,6,76);
-end
-if ~isempty(pdesc)
-    fprintf(fidi,'\t  %s_descriptors =\n',cstring2);
-    vector_write(fidi,sprintf('\t    '),pdesc  ,6,76);
-end
-
-end
Index: /issm/trunk/src/m/utils/qmu/lclist_write.m
===================================================================
--- /issm/trunk/src/m/utils/qmu/lclist_write.m	(revision 9498)
+++ /issm/trunk/src/m/utils/qmu/lclist_write.m	(revision 9498)
@@ -0,0 +1,62 @@
+%
+%  function to write linear constraint list
+%
+function []=lclist_write(fidi,cstring,cstring2,dvar)
+
+if isempty(dvar)
+    return;
+end
+
+%  put linear constraints into lists for writing
+
+nvar=0;
+pmatrix=[];
+plower =[];
+pupper =[];
+ptarget=[];
+pstype =[];
+pscale =[];
+
+fnames=fieldnames(dvar);
+for i=1:numel(fnames)
+    nvar=nvar+numel(dvar.(fnames{i}));
+    pmatrix=[pmatrix prop_matrix(dvar.(fnames{i}))];
+    plower =[plower  prop_lower(dvar.(fnames{i})) ];
+    pupper =[pupper  prop_upper(dvar.(fnames{i})) ];
+    ptarget=[ptarget prop_target(dvar.(fnames{i}))];
+    pstype =[pstype  prop_stype(dvar.(fnames{i})) ];
+    pscale =[pscale  prop_scale(dvar.(fnames{i})) ];
+end
+
+%  write linear constraints
+
+disp(sprintf('  Writing %d %s linear constraints.',...
+    nvar,cstring));
+
+if ~isempty(pmatrix)
+    fprintf(fidi,'\t  %s_matrix =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pmatrix,6,76);
+end
+if ~isempty(plower)
+    fprintf(fidi,'\t  %s_lower_bounds =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),plower ,6,76);
+end
+if ~isempty(pupper)
+    fprintf(fidi,'\t  %s_upper_bounds =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pupper ,6,76);
+end
+if ~isempty(ptarget)
+    fprintf(fidi,'\t  %s_targets =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),ptarget,6,76);
+end
+if ~isempty(pstype)
+    fprintf(fidi,'\t  %s_scale_types =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pstype ,6,76);
+end
+if ~isempty(pscale)
+    fprintf(fidi,'\t  %s_scales =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pscale ,6,76);
+end
+
+end
+
Index: /issm/trunk/src/m/utils/qmu/param_write.m
===================================================================
--- /issm/trunk/src/m/utils/qmu/param_write.m	(revision 9498)
+++ /issm/trunk/src/m/utils/qmu/param_write.m	(revision 9498)
@@ -0,0 +1,24 @@
+%
+%  function to write a parameter
+%
+function []=param_write(fidi,sbeg,pname,smid,send,params)
+
+if ~isfield(params,pname)
+    warning('param_write:param_not_found',...
+        'Parameter ''%s'' not found in structure.',pname);
+    return
+end
+
+if islogical(params.(pname)) && ~params.(pname)
+    return
+end
+
+if     islogical(params.(pname))
+    fprintf(fidi,[sbeg '%s' send],pname);
+elseif ischar   (params.(pname))
+    fprintf(fidi,[sbeg '%s' smid '%s' send],pname,params.(pname));
+elseif isnumeric(params.(pname))
+    fprintf(fidi,[sbeg '%s' smid '%g' send],pname,params.(pname));
+end
+
+end
Index: /issm/trunk/src/m/utils/qmu/rlev_write.m
===================================================================
--- /issm/trunk/src/m/utils/qmu/rlev_write.m	(revision 9498)
+++ /issm/trunk/src/m/utils/qmu/rlev_write.m	(revision 9498)
@@ -0,0 +1,66 @@
+%
+%  function to write response levels
+%
+function []=rlev_write(fidi,dresp,params)
+
+if isempty(dresp)
+    return;
+end
+
+%  put responses into lists for writing
+
+nresp=0;
+respl={};
+probl={};
+rell ={};
+grell={};
+
+fnames=fieldnames(dresp);
+for i=1:numel(fnames)
+    nresp=nresp+numel(dresp.(fnames{i}));
+    [respli,probli,relli,grelli]=prop_levels(dresp.(fnames{i}));
+    respl=[respl respli];
+    probl=[probl probli];
+    rell =[rell  relli ];
+    grell=[grell grelli];
+end
+
+%  write response levels
+
+param_write(fidi,'\t  ','distribution',' ','\n',params);
+if ~isempty(respl)
+    rlevi_write(fidi,'response_levels',respl);
+    param_write(fidi,'\t  ','compute',' ','\n',params);
+end 
+if ~isempty(probl)
+    rlevi_write(fidi,'probability_levels',probl);
+end
+if ~isempty(rell)
+    rlevi_write(fidi,'reliability_levels',rell);
+end
+if ~isempty(grell)
+    rlevi_write(fidi,'gen_reliability_levels',grell);
+end
+
+end
+
+%
+%  function to each type of response level
+%
+function []=rlevi_write(fidi,ltype,levels)
+
+fprintf(fidi,'\t  num_%s =',ltype);
+for i=1:numel(levels)
+    fprintf(fidi,' %d',length(levels{i}));
+end
+fprintf(fidi,'\n');
+
+fprintf(fidi,'\t  %s =\n',ltype);
+
+for i=1:numel(levels)
+    if ~isempty(levels{i})
+        vector_write(fidi,sprintf('\t    '),levels{i},8,76);
+    end
+end
+
+end
Index: /issm/trunk/src/m/utils/qmu/rlist_write.m
===================================================================
--- /issm/trunk/src/m/utils/qmu/rlist_write.m	(revision 9498)
+++ /issm/trunk/src/m/utils/qmu/rlist_write.m	(revision 9498)
@@ -0,0 +1,70 @@
+%
+%  function to write response list
+%
+function [rdesc]=rlist_write(fidi,cstring,cstring2,dresp,rdesc)
+
+if isempty(dresp)
+    return;
+end
+
+%  put responses into lists for writing
+%  (and accumulate descriptors into list for subsequent writing)
+
+nresp=0;
+pstype =[];
+pscale =[];
+pweight=[];
+plower =[];
+pupper =[];
+ptarget=[];
+
+fnames=fieldnames(dresp);
+for i=1:numel(fnames)
+    nresp=nresp+numel(dresp.(fnames{i}));
+    pstype =[pstype  prop_stype(dresp.(fnames{i})) ];
+    pscale =[pscale  prop_scale(dresp.(fnames{i})) ];
+    pweight=[pweight prop_weight(dresp.(fnames{i}))];
+    plower =[plower  prop_lower(dresp.(fnames{i})) ];
+    pupper =[pupper  prop_upper(dresp.(fnames{i})) ];
+    ptarget=[ptarget prop_target(dresp.(fnames{i}))];
+    rdesc  =[rdesc   prop_desc(dresp.(fnames{i}),fnames{i})];
+end
+
+%  write responses
+
+disp(sprintf('  Writing %d %s responses.',nresp,cstring));
+
+fprintf(fidi,'\tnum_%s = %d\n',cstring,nresp);
+if ~isempty(pstype)
+    fprintf(fidi,'\t  %s_scale_types =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pstype ,6,76);
+end
+if ~isempty(pscale)
+    fprintf(fidi,'\t  %s_scales =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pscale ,6,76);
+end
+if ~isempty(pweight)
+    switch cstring2
+        case 'objective_function'
+            fprintf(fidi,'\t  %s_weights =\n','multi_objective');
+            vector_write(fidi,sprintf('\t    '),pweight,6,76);
+        case 'least_squares_term'
+            fprintf(fidi,'\t  %s_weights =\n','least_squares');
+            vector_write(fidi,sprintf('\t    '),pweight,6,76);
+    end
+end
+if ~isempty(plower)
+    fprintf(fidi,'\t  %s_lower_bounds =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),plower ,6,76);
+end
+if ~isempty(pupper)
+    fprintf(fidi,'\t  %s_upper_bounds =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pupper ,6,76);
+end
+if ~isempty(ptarget)
+    fprintf(fidi,'\t  %s_targets =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),ptarget,6,76);
+end
+
+end
+
Index: /issm/trunk/src/m/utils/qmu/vector_write.m
===================================================================
--- /issm/trunk/src/m/utils/qmu/vector_write.m	(revision 9498)
+++ /issm/trunk/src/m/utils/qmu/vector_write.m	(revision 9498)
@@ -0,0 +1,52 @@
+
+%%  function to write a vector on multiple lines
+
+function []=vector_write(fidi,sbeg,vec,nmax,cmax)
+
+if ~exist('nmax','var') || isempty(nmax)
+    nmax=Inf;
+end
+if ~exist('cmax','var') || isempty(cmax)
+    cmax=Inf;
+end
+
+%  set up first iteration
+
+svec =[];
+nitem=nmax;
+lsvec=cmax;
+
+%  transpose vector from column-wise to row-wise
+
+vec=vec';
+
+%  assemble each line, flushing when necessary
+
+for i=1:numel(vec)
+    if isnumeric(vec(i))
+        sitem=sprintf('%g'    ,vec(i));
+    else
+        sitem=sprintf('''%s''',char(vec(i)));
+    end
+    nitem=nitem+1;
+    lsvec=lsvec+1+length(sitem);
+    
+    if (nitem <= nmax) && (lsvec <= cmax)
+        svec=[svec ' ' sitem];
+    else
+        if ~isempty(svec)
+            fprintf(fidi,'%s\n',svec);
+        end
+        svec=[sbeg sitem];
+        nitem=1;
+        lsvec=length(svec);
+    end
+end
+
+%  flush buffer at end, if necessary
+
+if ~isempty(svec)
+    fprintf(fidi,'%s\n',svec);
+end
+
+end
Index: /issm/trunk/src/m/utils/qmu/vlist_write.m
===================================================================
--- /issm/trunk/src/m/utils/qmu/vlist_write.m	(revision 9498)
+++ /issm/trunk/src/m/utils/qmu/vlist_write.m	(revision 9498)
@@ -0,0 +1,80 @@
+%
+%  function to write variable list
+%
+function []=vlist_write(fidi,cstring,cstring2,dvar)
+
+if isempty(dvar)
+    return;
+end
+
+%  put variables into lists for writing
+
+nvar=0;
+pinitpt=[];
+plower =[];
+pupper =[];
+pmean  =[];
+pstddev=[];
+pinitst=[];
+pstype =[];
+pscale =[];
+pdesc  =[];
+
+fnames=fieldnames(dvar);
+for i=1:numel(fnames)
+    nvar=nvar+numel(dvar.(fnames{i}));
+    pinitpt=[pinitpt prop_initpt(dvar.(fnames{i}))];
+    plower =[plower  prop_lower(dvar.(fnames{i})) ];
+    pupper =[pupper  prop_upper(dvar.(fnames{i})) ];
+    pmean  =[pmean   prop_mean(dvar.(fnames{i}))  ];
+    pstddev=[pstddev prop_stddev(dvar.(fnames{i}))];
+    pinitst=[pinitst prop_initst(dvar.(fnames{i}))];
+    pstype =[pstype  prop_stype(dvar.(fnames{i})) ];
+    pscale =[pscale  prop_scale(dvar.(fnames{i})) ];
+    pdesc  =[pdesc   prop_desc(dvar.(fnames{i}),fnames{i})];
+end
+
+%  write variables
+%  (using Dakota 4.1 syntax for backward compatability)
+
+disp(sprintf('  Writing %d %s variables.',nvar,cstring));
+
+fprintf(fidi,'\t%s = %d\n',cstring,nvar);
+if ~isempty(pinitpt)
+    fprintf(fidi,'\t  %s_initial_point =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pinitpt,6,76);
+end
+if ~isempty(plower)
+    fprintf(fidi,'\t  %s_lower_bounds =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),plower ,6,76);
+end
+if ~isempty(pupper)
+    fprintf(fidi,'\t  %s_upper_bounds =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pupper ,6,76);
+end
+if ~isempty(pmean)
+    fprintf(fidi,'\t  %s_means =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pmean  ,6,76);
+end
+if ~isempty(pstddev)
+    fprintf(fidi,'\t  %s_std_deviations =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pstddev,6,76);
+end
+if ~isempty(pinitst)
+    fprintf(fidi,'\t  %s_initial_state =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pinitst,6,76);
+end
+if ~isempty(pstype)
+    fprintf(fidi,'\t  %s_scale_types =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pstype ,6,76);
+end
+if ~isempty(pscale)
+    fprintf(fidi,'\t  %s_scales =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pscale ,6,76);
+end
+if ~isempty(pdesc)
+    fprintf(fidi,'\t  %s_descriptors =\n',cstring2);
+    vector_write(fidi,sprintf('\t    '),pdesc  ,6,76);
+end
+
+end
