Index: /issm/trunk-jpl/test/NightlyRun/test320.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test320.m	(revision 13660)
+++ /issm/trunk-jpl/test/NightlyRun/test320.m	(revision 13661)
@@ -1,3 +1,3 @@
-md=triangle(model,'../Exp/Square.exp',200000);
+md=triangle(model(),'../Exp/Square.exp',200000);
 md=setmask(md,'','');
 md=parameterize(md,'../Par/SquareSheetConstrained.par');
@@ -8,10 +8,10 @@
 md.inversion.iscontrol=1;
 md.inversion.control_parameters={'FrictionCoefficient'};
-md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1);
-md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1);
+md.inversion.min_parameters=1.*ones(md.mesh.numberofvertices,1);
+md.inversion.max_parameters=200.*ones(md.mesh.numberofvertices,1);
 md.inversion.nsteps=2;
 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1)  501*ones(md.inversion.nsteps,1)];
-md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;
-md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1);
+md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2.*10^-7;
+md.inversion.gradient_scaling=3.*ones(md.inversion.nsteps,1);
 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1);
 md.inversion.step_threshold=0.3*ones(md.inversion.nsteps,1);
@@ -19,12 +19,12 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,DiagnosticSolutionEnum);
+md=solve(md,DiagnosticSolutionEnum());
 
 %Fields and tolerances to track changes
-field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
+field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy'};
 field_tolerances={1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12};
 field_values={...
 	(md.results.DiagnosticSolution.Gradient1),...
-	md.results.DiagnosticSolution.J,...
+	(md.results.DiagnosticSolution.J),...
 	(md.results.DiagnosticSolution.FrictionCoefficient),...
 	(md.results.DiagnosticSolution.Pressure),...
Index: /issm/trunk-jpl/test/NightlyRun/test320.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test320.py	(revision 13661)
+++ /issm/trunk-jpl/test/NightlyRun/test320.py	(revision 13661)
@@ -0,0 +1,46 @@
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',200000.)
+md=setmask(md,'','')
+md=parameterize(md,'../Par/SquareSheetConstrained.py')
+md.extrude(3,1)
+md=setflowequation(md,'macayeal','all')
+
+#control parameters
+md.inversion.iscontrol=1
+md.inversion.control_parameters=['FrictionCoefficient']
+md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
+md.inversion.nsteps=2
+md.inversion.cost_functions=numpy.hstack((103*numpy.ones((md.inversion.nsteps,1)),501*numpy.ones((md.inversion.nsteps,1))))
+md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
+md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+md.inversion.maxiter_per_step=2*numpy.ones(md.inversion.nsteps)
+md.inversion.step_threshold=0.3*numpy.ones(md.inversion.nsteps)
+md.inversion.vx_obs=md.initialization.vx
+md.inversion.vy_obs=md.initialization.vy
+
+md.cluster=generic('name',oshostname(),'np',3)
+md=solve(md,DiagnosticSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy']
+field_tolerances=[1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12,1e-12]
+field_values=[\
+	md.results['DiagnosticSolution'][1]['Gradient1'],\
+	md.results['DiagnosticSolution'][1]['J'],\
+	md.results['DiagnosticSolution'][1]['FrictionCoefficient'],\
+	md.results['DiagnosticSolution'][1]['Pressure'],\
+	md.results['DiagnosticSolution'][1]['Vel'],\
+	md.results['DiagnosticSolution'][1]['Vx'],\
+	md.results['DiagnosticSolution'][1]['Vy'],\
+]
Index: /issm/trunk-jpl/test/NightlyRun/test321.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test321.m	(revision 13660)
+++ /issm/trunk-jpl/test/NightlyRun/test321.m	(revision 13661)
@@ -1,3 +1,3 @@
-md=triangle(model,'../Exp/Square.exp',200000);
+md=triangle(model(),'../Exp/Square.exp',200000);
 md=setmask(md,'','');
 md=parameterize(md,'../Par/SquareSheetConstrained.par');
@@ -8,10 +8,10 @@
 md.inversion.iscontrol=1;
 md.inversion.control_parameters={'FrictionCoefficient'};
-md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1);
-md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1);
+md.inversion.min_parameters=1.*ones(md.mesh.numberofvertices,1);
+md.inversion.max_parameters=200.*ones(md.mesh.numberofvertices,1);
 md.inversion.nsteps=2;
 md.inversion.cost_functions=[102*ones(md.inversion.nsteps,1)  501*ones(md.inversion.nsteps,1)];
-md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;
-md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1);
+md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2.*10^-7;
+md.inversion.gradient_scaling=3.*ones(md.inversion.nsteps,1);
 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1);
 md.inversion.step_threshold=0.3*ones(md.inversion.nsteps,1);
@@ -19,12 +19,12 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,DiagnosticSolutionEnum);
+md=solve(md,DiagnosticSolutionEnum());
 
 %Fields and tolerances to track changes
-field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
+field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy'};
 field_tolerances={1e-08,1e-07,1e-10,1e-10,1e-09,1e-09,1e-09};
 field_values={...
 	(md.results.DiagnosticSolution.Gradient1),...
-	md.results.DiagnosticSolution.J,...
+	(md.results.DiagnosticSolution.J),...
 	(md.results.DiagnosticSolution.FrictionCoefficient),...
 	(md.results.DiagnosticSolution.Pressure),...
Index: /issm/trunk-jpl/test/NightlyRun/test321.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test321.py	(revision 13661)
+++ /issm/trunk-jpl/test/NightlyRun/test321.py	(revision 13661)
@@ -0,0 +1,46 @@
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',200000.)
+md=setmask(md,'','')
+md=parameterize(md,'../Par/SquareSheetConstrained.py')
+md.extrude(3,1)
+md=setflowequation(md,'pattyn','all')
+
+#control parameters
+md.inversion.iscontrol=1
+md.inversion.control_parameters=['FrictionCoefficient']
+md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
+md.inversion.nsteps=2
+md.inversion.cost_functions=numpy.hstack((102*numpy.ones((md.inversion.nsteps,1)),501*numpy.ones((md.inversion.nsteps,1))))
+md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
+md.inversion.cost_functions_coefficients[:,1]=2*10**-7
+md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+md.inversion.maxiter_per_step=2*numpy.ones(md.inversion.nsteps)
+md.inversion.step_threshold=0.3*numpy.ones(md.inversion.nsteps)
+md.inversion.vx_obs=md.initialization.vx
+md.inversion.vy_obs=md.initialization.vy
+
+md.cluster=generic('name',oshostname(),'np',3)
+md=solve(md,DiagnosticSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy']
+field_tolerances=[1e-08,1e-07,1e-10,1e-10,1e-09,1e-09,1e-09]
+field_values=[\
+	md.results['DiagnosticSolution'][1]['Gradient1'],\
+	md.results['DiagnosticSolution'][1]['J'],\
+	md.results['DiagnosticSolution'][1]['FrictionCoefficient'],\
+	md.results['DiagnosticSolution'][1]['Pressure'],\
+	md.results['DiagnosticSolution'][1]['Vel'],\
+	md.results['DiagnosticSolution'][1]['Vx'],\
+	md.results['DiagnosticSolution'][1]['Vy'],\
+]
Index: /issm/trunk-jpl/test/NightlyRun/test322.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test322.m	(revision 13660)
+++ /issm/trunk-jpl/test/NightlyRun/test322.m	(revision 13661)
@@ -1,3 +1,3 @@
-md=triangle(model,'../Exp/Square.exp',200000);
+md=triangle(model(),'../Exp/Square.exp',200000);
 md=setmask(md,'','');
 md=parameterize(md,'../Par/SquareSheetConstrained.par');
@@ -8,10 +8,10 @@
 md.inversion.iscontrol=1;
 md.inversion.control_parameters={'FrictionCoefficient'};
-md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1);
-md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1);
+md.inversion.min_parameters=1.*ones(md.mesh.numberofvertices,1);
+md.inversion.max_parameters=200.*ones(md.mesh.numberofvertices,1);
 md.inversion.nsteps=2;
 md.inversion.cost_functions=[104*ones(md.inversion.nsteps,1)  501*ones(md.inversion.nsteps,1)];
-md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;
-md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1);
+md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2.*10^-7;
+md.inversion.gradient_scaling=3.*ones(md.inversion.nsteps,1);
 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1);
 md.inversion.step_threshold=0.3*ones(md.inversion.nsteps,1);
@@ -19,12 +19,12 @@
 
 md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,DiagnosticSolutionEnum);
+md=solve(md,DiagnosticSolutionEnum());
 
 %Fields and tolerances to track changes
-field_names     ={'Gradient' 'Misfits' 'FrictionCoefficient' 'Pressure' 'Vel' 'Vx' 'Vy'};
+field_names     ={'Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy'};
 field_tolerances={1e-06,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09};
 field_values={...
 	(md.results.DiagnosticSolution.Gradient1),...
-	md.results.DiagnosticSolution.J,...
+	(md.results.DiagnosticSolution.J),...
 	(md.results.DiagnosticSolution.FrictionCoefficient),...
 	(md.results.DiagnosticSolution.Pressure),...
Index: /issm/trunk-jpl/test/NightlyRun/test322.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test322.py	(revision 13661)
+++ /issm/trunk-jpl/test/NightlyRun/test322.py	(revision 13661)
@@ -0,0 +1,46 @@
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',200000.)
+md=setmask(md,'','')
+md=parameterize(md,'../Par/SquareSheetConstrained.py')
+md.extrude(3,1)
+md=setflowequation(md,'stokes','all')
+
+#control parameters
+md.inversion.iscontrol=1
+md.inversion.control_parameters=['FrictionCoefficient']
+md.inversion.min_parameters=1.*numpy.ones((md.mesh.numberofvertices,1))
+md.inversion.max_parameters=200.*numpy.ones((md.mesh.numberofvertices,1))
+md.inversion.nsteps=2
+md.inversion.cost_functions=numpy.hstack((104*numpy.ones((md.inversion.nsteps,1)),501*numpy.ones((md.inversion.nsteps,1))))
+md.inversion.cost_functions_coefficients=numpy.ones((md.mesh.numberofvertices,2))
+md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
+md.inversion.gradient_scaling=3.*numpy.ones((md.inversion.nsteps,1))
+md.inversion.maxiter_per_step=2*numpy.ones(md.inversion.nsteps)
+md.inversion.step_threshold=0.3*numpy.ones(md.inversion.nsteps)
+md.inversion.vx_obs=md.initialization.vx
+md.inversion.vy_obs=md.initialization.vy
+
+md.cluster=generic('name',oshostname(),'np',3)
+md=solve(md,DiagnosticSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy']
+field_tolerances=[1e-06,1e-08,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09,1e-09]
+field_values=[\
+	md.results['DiagnosticSolution'][1]['Gradient1'],\
+	md.results['DiagnosticSolution'][1]['J'],\
+	md.results['DiagnosticSolution'][1]['FrictionCoefficient'],\
+	md.results['DiagnosticSolution'][1]['Pressure'],\
+	md.results['DiagnosticSolution'][1]['Vel'],\
+	md.results['DiagnosticSolution'][1]['Vx'],\
+	md.results['DiagnosticSolution'][1]['Vy'],\
+]
Index: /issm/trunk-jpl/test/NightlyRun/test323.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test323.m	(revision 13660)
+++ /issm/trunk-jpl/test/NightlyRun/test323.m	(revision 13661)
@@ -1,3 +1,3 @@
-md=triangle(model,'../Exp/Square.exp',150000);
+md=triangle(model(),'../Exp/Square.exp',150000);
 md=setmask(md,'','');
 md=parameterize(md,'../Par/SquareSheetConstrained.par');
@@ -5,6 +5,6 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.timestepping.time_adapt=1;
-md.timestepping.final_time=600;
-md=solve(md,TransientSolutionEnum);
+md.timestepping.final_time=600.;
+md=solve(md,TransientSolutionEnum());
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test323.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test323.py	(revision 13661)
+++ /issm/trunk-jpl/test/NightlyRun/test323.py	(revision 13661)
@@ -0,0 +1,45 @@
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'','')
+md=parameterize(md,'../Par/SquareSheetConstrained.py')
+md=setflowequation(md,'macayeal','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md.timestepping.time_adapt=1
+md.timestepping.final_time=600.
+md=solve(md,TransientSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3']
+field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+field_values=[\
+	md.results['TransientSolution'][1]['Vx'],\
+	md.results['TransientSolution'][1]['Vy'],\
+	md.results['TransientSolution'][1]['Vel'],\
+	md.results['TransientSolution'][1]['Pressure'],\
+	md.results['TransientSolution'][1]['Bed'],\
+	md.results['TransientSolution'][1]['Surface'],\
+	md.results['TransientSolution'][1]['Thickness'],\
+	md.results['TransientSolution'][2]['Vx'],\
+	md.results['TransientSolution'][2]['Vy'],\
+	md.results['TransientSolution'][2]['Vel'],\
+	md.results['TransientSolution'][2]['Pressure'],\
+	md.results['TransientSolution'][2]['Bed'],\
+	md.results['TransientSolution'][2]['Surface'],\
+	md.results['TransientSolution'][2]['Thickness'],\
+	md.results['TransientSolution'][3]['Vx'],\
+	md.results['TransientSolution'][3]['Vy'],\
+	md.results['TransientSolution'][3]['Vel'],\
+	md.results['TransientSolution'][3]['Pressure'],\
+	md.results['TransientSolution'][3]['Bed'],\
+	md.results['TransientSolution'][3]['Surface'],\
+	md.results['TransientSolution'][3]['Thickness'],\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test324.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test324.m	(revision 13660)
+++ /issm/trunk-jpl/test/NightlyRun/test324.m	(revision 13661)
@@ -1,3 +1,3 @@
-md=triangle(model,'../Exp/Square.exp',150000);
+md=triangle(model(),'../Exp/Square.exp',150000);
 md=setmask(md,'','');
 md=parameterize(md,'../Par/SquareSheetConstrained.par');
@@ -6,14 +6,14 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.timestepping.time_adapt=1;
-md.timestepping.final_time=500;
-md=solve(md,TransientSolutionEnum);
+md.timestepping.final_time=500.;
+md=solve(md,TransientSolutionEnum());
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1', ...
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2'};
-					   %'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1',...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2'};
+	%'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3'};
 field_tolerances={1e-13,  1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...,
-						5*1e-11,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...
-						1e-10,  1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+	5*1e-11,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...
+	1e-10,  1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
 field_values={...
 	(md.results.TransientSolution(1).Vx),...
Index: /issm/trunk-jpl/test/NightlyRun/test324.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test324.py	(revision 13661)
+++ /issm/trunk-jpl/test/NightlyRun/test324.py	(revision 13661)
@@ -0,0 +1,59 @@
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'','')
+md=parameterize(md,'../Par/SquareSheetConstrained.py')
+md.extrude(5,1.2)
+md=setflowequation(md,'hutter','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md.timestepping.time_adapt=1
+md.timestepping.final_time=500.
+md=solve(md,TransientSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','BasalforcingsMeltingRate1',\
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','BasalforcingsMeltingRate2']
+	#'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','BasalforcingsMeltingRate3']
+field_tolerances=[1e-13,  1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+	5*1e-11,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+	1e-10,  1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+field_values=[\
+	md.results['TransientSolution'][1]['Vx'],\
+	md.results['TransientSolution'][1]['Vy'],\
+	md.results['TransientSolution'][1]['Vz'],\
+	md.results['TransientSolution'][1]['Vel'],\
+	md.results['TransientSolution'][1]['Pressure'],\
+	md.results['TransientSolution'][1]['Bed'],\
+	md.results['TransientSolution'][1]['Surface'],\
+	md.results['TransientSolution'][1]['Thickness'],\
+	md.results['TransientSolution'][1]['Temperature'],\
+	md.results['TransientSolution'][1]['BasalforcingsMeltingRate'],\
+	md.results['TransientSolution'][2]['Vx'],\
+	md.results['TransientSolution'][2]['Vy'],\
+	md.results['TransientSolution'][2]['Vz'],\
+	md.results['TransientSolution'][2]['Vel'],\
+	md.results['TransientSolution'][2]['Pressure'],\
+	md.results['TransientSolution'][2]['Bed'],\
+	md.results['TransientSolution'][2]['Surface'],\
+	md.results['TransientSolution'][2]['Thickness'],\
+	md.results['TransientSolution'][2]['Temperature'],\
+	md.results['TransientSolution'][2]['BasalforcingsMeltingRate'],\
+#	md.results['TransientSolution'][3]['Vx'],\
+#	md.results['TransientSolution'][3]['Vy'],\
+#	md.results['TransientSolution'][3]['Vz'],\
+#	md.results['TransientSolution'][3]['Vel'],\
+#	md.results['TransientSolution'][3]['Pressure'],\
+#	md.results['TransientSolution'][3]['Bed'],\
+#	md.results['TransientSolution'][3]['Surface'],\
+#	md.results['TransientSolution'][3]['Thickness'],\
+#	md.results['TransientSolution'][3]['Temperature'],\
+#	md.results['TransientSolution'][3]['BasalforcingsMeltingRate'],\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test325.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test325.m	(revision 13660)
+++ /issm/trunk-jpl/test/NightlyRun/test325.m	(revision 13661)
@@ -1,11 +1,11 @@
-md=triangle(model,'../Exp/Square.exp',180000);
+md=triangle(model(),'../Exp/Square.exp',180000);
 md=setmask(md,'','');
 md=parameterize(md,'../Par/SquareSheetConstrained.par');
 md=extrude(md,3,1);
 md=setflowequation(md,'macayeal','all');
-md.timestepping.time_step=0;
+md.timestepping.time_step=0.;
 md.cluster=generic('name',oshostname(),'np',3);
 md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
-md=solve(md,EnthalpySolutionEnum);
+md=solve(md,EnthalpySolutionEnum());
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test325.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test325.py	(revision 13661)
+++ /issm/trunk-jpl/test/NightlyRun/test325.py	(revision 13661)
@@ -0,0 +1,28 @@
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',180000.)
+md=setmask(md,'','')
+md=parameterize(md,'../Par/SquareSheetConstrained.py')
+md.extrude(3,1)
+md=setflowequation(md,'macayeal','all')
+md.timestepping.time_step=0.
+md.cluster=generic('name',oshostname(),'np',3)
+md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+md=solve(md,EnthalpySolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Enthalpy','Waterfraction','Temperature']
+field_tolerances=[1e-13,1e-13,1e-13]
+field_values=[\
+	md.results['EnthalpySolution'][1]['Enthalpy'],\
+	md.results['EnthalpySolution'][1]['Waterfraction'],\
+	md.results['EnthalpySolution'][1]['Temperature'],\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test326.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test326.m	(revision 13660)
+++ /issm/trunk-jpl/test/NightlyRun/test326.m	(revision 13661)
@@ -1,3 +1,3 @@
-md=triangle(model,'../Exp/Square.exp',180000);
+md=triangle(model(),'../Exp/Square.exp',180000);
 md=setmask(md,'','');
 md=parameterize(md,'../Par/SquareSheetConstrained.par');
@@ -11,5 +11,5 @@
 md.transient.isgroundingline=0;
 md.thermal.isenthalpy=1;
-md=solve(md,TransientSolutionEnum);
+md=solve(md,TransientSolutionEnum());
 
 %Fields and tolerances to track changes
Index: /issm/trunk-jpl/test/NightlyRun/test326.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test326.py	(revision 13661)
+++ /issm/trunk-jpl/test/NightlyRun/test326.py	(revision 13661)
@@ -0,0 +1,40 @@
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',180000.)
+md=setmask(md,'','')
+md=parameterize(md,'../Par/SquareSheetConstrained.py')
+md.extrude(3,1)
+md=setflowequation(md,'macayeal','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+md.transient.isdiagnostic=0
+md.transient.isprognostic=0
+md.transient.isthermal=1
+md.transient.isgroundingline=0
+md.thermal.isenthalpy=1
+md=solve(md,TransientSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Enthalpy1','Waterfraction1','Temperature1',\
+	'Enthalpy2','Waterfraction2','Temperature2',\
+	'Enthalpy3','Waterfraction3','Temperature3']
+field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13]
+field_values=[\
+	md.results['TransientSolution'][1]['Enthalpy'],\
+	md.results['TransientSolution'][1]['Waterfraction'],\
+	md.results['TransientSolution'][1]['Temperature'],\
+	md.results['TransientSolution'][2]['Enthalpy'],\
+	md.results['TransientSolution'][2]['Waterfraction'],\
+	md.results['TransientSolution'][2]['Temperature'],\
+	md.results['TransientSolution'][3]['Enthalpy'],\
+	md.results['TransientSolution'][3]['Waterfraction'],\
+	md.results['TransientSolution'][3]['Temperature'],\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test327.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test327.m	(revision 13660)
+++ /issm/trunk-jpl/test/NightlyRun/test327.m	(revision 13661)
@@ -1,3 +1,3 @@
-md=triangle(model,'../Exp/Square.exp',200000);
+md=triangle(model(),'../Exp/Square.exp',200000);
 md=setmask(md,'','');
 md=parameterize(md,'../Par/SquareSheetConstrained.par');
@@ -6,17 +6,17 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
-md.initialization.temperature(:)=272;
-md.thermal.spctemperature(find(md.mesh.vertexonsurface))=272;
+md.initialization.temperature(:)=272.;
+md.thermal.spctemperature(find(md.mesh.vertexonsurface))=272.;
 md.thermal.isenthalpy=1;
-md.basalforcings.geothermalflux(:)=5;
-md=solve(md,TransientSolutionEnum);
+md.basalforcings.geothermalflux(:)=5.;
+md=solve(md,TransientSolutionEnum());
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','Enthalpy1','Waterfraction1', ...
-				      'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','Enthalpy2','Waterfraction2', ...
-					   'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','Enthalpy3','Waterfraction3'};
+field_names     ={'Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','Enthalpy1','Waterfraction1',...
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','Enthalpy2','Waterfraction2',...
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','Enthalpy3','Waterfraction3'};
 field_tolerances={1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,...
-						1e-09,1e-09,1e-10,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,...
-						1e-09,5e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10};
+	1e-09,1e-09,1e-10,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,...
+	1e-09,5e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10};
 field_values={...
 	(md.results.TransientSolution(1).Vx),...
Index: /issm/trunk-jpl/test/NightlyRun/test327.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test327.py	(revision 13661)
+++ /issm/trunk-jpl/test/NightlyRun/test327.py	(revision 13661)
@@ -0,0 +1,65 @@
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',200000.)
+md=setmask(md,'','')
+md=parameterize(md,'../Par/SquareSheetConstrained.py')
+md.extrude(3,1)
+md=setflowequation(md,'pattyn','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
+md.initialization.temperature[:]=272.
+md.thermal.spctemperature[numpy.nonzero(md.mesh.vertexonsurface)[0]]=272.
+md.thermal.isenthalpy=1
+md.basalforcings.geothermalflux[:]=5.
+md=solve(md,TransientSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Vx1','Vy1','Vz1','Vel1','Pressure1','Bed1','Surface1','Thickness1','Temperature1','Enthalpy1','Waterfraction1',\
+	'Vx2','Vy2','Vz2','Vel2','Pressure2','Bed2','Surface2','Thickness2','Temperature2','Enthalpy2','Waterfraction2',\
+	'Vx3','Vy3','Vz3','Vel3','Pressure3','Bed3','Surface3','Thickness3','Temperature3','Enthalpy3','Waterfraction3']
+field_tolerances=[1e-09,1e-09,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+	1e-09,1e-09,1e-10,1e-09,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,\
+	1e-09,5e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10,1e-10]
+field_values=[\
+	md.results['TransientSolution'][1]['Vx'],\
+	md.results['TransientSolution'][1]['Vy'],\
+	md.results['TransientSolution'][1]['Vz'],\
+	md.results['TransientSolution'][1]['Vel'],\
+	md.results['TransientSolution'][1]['Pressure'],\
+	md.results['TransientSolution'][1]['Bed'],\
+	md.results['TransientSolution'][1]['Surface'],\
+	md.results['TransientSolution'][1]['Thickness'],\
+	md.results['TransientSolution'][1]['Temperature'],\
+	md.results['TransientSolution'][1]['Enthalpy'],\
+	md.results['TransientSolution'][1]['Waterfraction'],\
+	md.results['TransientSolution'][2]['Vx'],\
+	md.results['TransientSolution'][2]['Vy'],\
+	md.results['TransientSolution'][2]['Vz'],\
+	md.results['TransientSolution'][2]['Vel'],\
+	md.results['TransientSolution'][2]['Pressure'],\
+	md.results['TransientSolution'][2]['Bed'],\
+	md.results['TransientSolution'][2]['Surface'],\
+	md.results['TransientSolution'][2]['Thickness'],\
+	md.results['TransientSolution'][2]['Temperature'],\
+	md.results['TransientSolution'][2]['Enthalpy'],\
+	md.results['TransientSolution'][2]['Waterfraction'],\
+	md.results['TransientSolution'][3]['Vx'],\
+	md.results['TransientSolution'][3]['Vy'],\
+	md.results['TransientSolution'][3]['Vz'],\
+	md.results['TransientSolution'][3]['Vel'],\
+	md.results['TransientSolution'][3]['Pressure'],\
+	md.results['TransientSolution'][3]['Bed'],\
+	md.results['TransientSolution'][3]['Surface'],\
+	md.results['TransientSolution'][3]['Thickness'],\
+	md.results['TransientSolution'][3]['Temperature'],\
+	md.results['TransientSolution'][3]['Enthalpy'],\
+	md.results['TransientSolution'][3]['Waterfraction'],\
+	]
