Index: /issm/trunk/src/m/classes/@model/model.m
===================================================================
--- /issm/trunk/src/m/classes/@model/model.m	(revision 5194)
+++ /issm/trunk/src/m/classes/@model/model.m	(revision 5195)
@@ -233,4 +233,5 @@
 
 	%Results fields
+	md.output_frequency=0;
 	md.inputfilename='';
 	md.outputfilename='';
Index: /issm/trunk/src/m/classes/@model/setdefaultparameters.m
===================================================================
--- /issm/trunk/src/m/classes/@model/setdefaultparameters.m	(revision 5194)
+++ /issm/trunk/src/m/classes/@model/setdefaultparameters.m	(revision 5195)
@@ -231,4 +231,7 @@
 md.plot=0;
 
+%How often to save results, default is 1 so save every step
+md.output_frequency=1;
+
 %Parallelisation parameters
 
Index: /issm/trunk/src/m/classes/public/marshall.m
===================================================================
--- /issm/trunk/src/m/classes/public/marshall.m	(revision 5194)
+++ /issm/trunk/src/m/classes/public/marshall.m	(revision 5195)
@@ -110,4 +110,5 @@
 WriteData(fid,md.verbose,'Integer','verbose');
 WriteData(fid,md.plot,'Integer','plot');
+WriteData(fid,md.output_frequency,'Integer','output_frequency');
 WriteData(fid,md.artificial_diffusivity,'Integer','artificial_diffusivity');
 WriteData(fid,md.prognostic_DG,'Integer','prognostic_DG');
Index: /issm/trunk/src/m/solutions/transient2d_core.m
===================================================================
--- /issm/trunk/src/m/solutions/transient2d_core.m	(revision 5194)
+++ /issm/trunk/src/m/solutions/transient2d_core.m	(revision 5195)
@@ -11,4 +11,5 @@
 	yts=femmodel.parameters.Yts;
 	solution_type=femmodel.parameters.SolutionType;
+	output_frequency=femmodel.parameters.OutputFrequency;
 
 	%Initialize
@@ -34,5 +35,5 @@
 		[femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=UpdateGeometry(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
 
-		if solution_type==Transient2DSolutionEnum,
+		if (solution_type==Transient2DSolutionEnum & mod(step,output_frequency)==0),
 			displaystring(verbose,'\n%s',['saving results...']);
 			femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum,step,time);
Index: /issm/trunk/src/m/solutions/transient3d_core.m
===================================================================
--- /issm/trunk/src/m/solutions/transient3d_core.m	(revision 5194)
+++ /issm/trunk/src/m/solutions/transient3d_core.m	(revision 5195)
@@ -11,4 +11,5 @@
 	yts=femmodel.parameters.Yts;
 	solution_type=femmodel.parameters.SolutionType;
+	output_frequency=femmodel.parameters.OutputFrequency;
 
 	%Initialize
@@ -40,5 +41,5 @@
 		[femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=UpdateVertexPositions(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
 
-		if solution_type==Transient3DSolutionEnum,
+		if (solution_type==Transient3DSolutionEnum & mod(step,output_frequency)==0),
 			displaystring(verbose,'\n%s',['saving results...']);
 			femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum,step,time);
Index: /issm/trunk/src/m/solvers/solver_linear.m
===================================================================
--- /issm/trunk/src/m/solvers/solver_linear.m	(revision 5194)
+++ /issm/trunk/src/m/solvers/solver_linear.m	(revision 5195)
@@ -27,3 +27,2 @@
 	%Update inputs using new solution
 	[femmodel.elements,femmodel.materials]=InputUpdateFromSolution(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,u_g);
-
