Index: /issm/trunk/src/m/solutions/dakota/dakota_in_params.m
===================================================================
--- /issm/trunk/src/m/solutions/dakota/dakota_in_params.m	(revision 268)
+++ /issm/trunk/src/m/solutions/dakota/dakota_in_params.m	(revision 269)
@@ -32,5 +32,10 @@
 %%  method section
 
-%  all method parameters are in the dakota_method class
+%  nearly all method parameters are in the dakota_method class
+%  or result from the response level lists
+
+if ~isfield(params,'distribution')
+    params.distribution='cumulative';
+end
 
 %%  model section
@@ -38,4 +43,16 @@
 %%  interface section
 
+if ~isfield(params,'system')
+    params.system=false;
+end
+if ~isfield(params,'fork')
+    params.fork=false;
+end
+if ~isfield(params,'direct')
+    params.direct=false;
+end
+if ~params.system && ~params.fork && ~params.direct
+    params.fork=true;
+end
 if ~isfield(params,'asynchronous')
     params.asynchronous=true;
Index: /issm/trunk/src/m/solutions/dakota/dakota_in_write.m
===================================================================
--- /issm/trunk/src/m/solutions/dakota/dakota_in_write.m	(revision 268)
+++ /issm/trunk/src/m/solutions/dakota/dakota_in_write.m	(revision 269)
@@ -332,18 +332,13 @@
 fprintf(fidi,'interface,\n');
 
-if strcmpi(params.analysis_driver,'matlab')
-%  Error: asynchronous capability not yet supported in direct interfaces.
-    fprintf(fidi,'\tdirect\n');
-    param_write(fidi,'\t  ','analysis_driver','     = ''','''\n',params);
-    [pathstr,name,ext,versn] = fileparts(params.analysis_components);
-    if isempty(ext)
-        ext='.m';
-    end
-    params.analysis_components=fullfile(pathstr,[name ext versn]);
-    param_write(fidi,'\t  ','analysis_components',' = ''','''\n',params);
-else
+if (params.system+params.fork+params.direct ~= 1)
+    error('Too few or too many interfaces selected.')
+end
+
+if     params.system || params.fork
     param_write(fidi,'\t','asynchronous','','\n',params);
     param_write(fidi,'\t  ','evaluation_concurrency',' = ','\n',params);
-    fprintf(fidi,'\tfork\n');
+    param_write(fidi,'\t','system','','\n',params);
+    param_write(fidi,'\t','fork','','\n',params);
     param_write(fidi,'\t  ','analysis_driver',' = ''','''\n',params);
     param_write(fidi,'\t  ','parameters_file',' = ''','''\n',params);
@@ -351,5 +346,16 @@
     param_write(fidi,'\t  ','file_tag', '','\n',params);
     param_write(fidi,'\t  ','file_save','','\n',params);
-end
+elseif params.direct
+%  Error: asynchronous capability not yet supported in direct interfaces.
+    param_write(fidi,'\t','direct','','\n',params);
+    param_write(fidi,'\t  ','analysis_driver','     = ''','''\n',params);
+    [pathstr,name,ext,versn] = fileparts(params.analysis_components);
+    if isempty(ext)
+        ext='.m';
+    end
+    params.analysis_components=fullfile(pathstr,[name ext versn]);
+    param_write(fidi,'\t  ','analysis_components',' = ''','''\n',params);
+end
+
 fprintf(fidi,'\n');
 
