Index: /issm/trunk-jpl/test/NightlyRun/test406.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test406.m	(revision 13678)
+++ /issm/trunk-jpl/test/NightlyRun/test406.m	(revision 13679)
@@ -6,5 +6,4 @@
 md.cluster=generic('name',oshostname(),'np',3);
 md.timestepping.time_step=0.;
-md.verbose=verbose('all');
 md=solve(md,ThermalSolutionEnum());
 
Index: /issm/trunk-jpl/test/NightlyRun/test406.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test406.py	(revision 13679)
+++ /issm/trunk-jpl/test/NightlyRun/test406.py	(revision 13679)
@@ -0,0 +1,26 @@
+import numpy
+from model import *
+from EnumDefinitions import *
+from MatlabFuncs import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from solve import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'../Exp/SquareShelf.exp','')
+md=parameterize(md,'../Par/SquareSheetShelf.py')
+md.extrude(4,1.)
+md=setflowequation(md,'pattyn','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md.timestepping.time_step=0.
+md=solve(md,ThermalSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Temperature','BasalforcingsMeltingRate']
+field_tolerances=[1e-13,1e-13]
+field_values=[\
+	md.results['ThermalSolution'][1]['Temperature'],\
+	md.results['ThermalSolution'][1]['BasalforcingsMeltingRate'],\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test407.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test407.py	(revision 13679)
+++ /issm/trunk-jpl/test/NightlyRun/test407.py	(revision 13679)
@@ -0,0 +1,29 @@
+import numpy
+from model import *
+from EnumDefinitions import *
+from MatlabFuncs import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from solve import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'../Exp/SquareShelf.exp','')
+md=parameterize(md,'../Par/SquareSheetShelf.py')
+md.extrude(4,1.)
+md=setflowequation(md,'pattyn','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md.transient.isdiagnostic=0
+md.transient.isprognostic=0
+md.transient.isthermal=1
+md.transient.isgroundingline=0
+md=solve(md,TransientSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Temperature','BasalforcingsMeltingRate']
+field_tolerances=[1e-13,1e-13]
+field_values=[\
+	md.results['TransientSolution'][1]['Temperature'],\
+	md.results['TransientSolution'][1]['BasalforcingsMeltingRate'],\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test408.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test408.py	(revision 13679)
+++ /issm/trunk-jpl/test/NightlyRun/test408.py	(revision 13679)
@@ -0,0 +1,43 @@
+import numpy
+from model import *
+from EnumDefinitions import *
+from MatlabFuncs import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from solve import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'../Exp/SquareShelf.exp','')
+md=parameterize(md,'../Par/SquareSheetShelf.py')
+md=setflowequation(md,'macayeal','all')
+md.cluster=generic('name',oshostname(),'np',3)
+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/test409.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test409.py	(revision 13679)
+++ /issm/trunk-jpl/test/NightlyRun/test409.py	(revision 13679)
@@ -0,0 +1,58 @@
+import numpy
+from model import *
+from EnumDefinitions import *
+from MatlabFuncs import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from solve import *
+
+md=triangle(model(),'../Exp/Square.exp',180000.)
+md=setmask(md,'../Exp/SquareShelf.exp','')
+md=parameterize(md,'../Par/SquareSheetShelf.py')
+md.extrude(3,1.)
+md=setflowequation(md,'macayeal','../Exp/SquareHalfRight.exp','fill','pattyn','coupling','penalties')
+md.cluster=generic('name',oshostname(),'np',3)
+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-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,1e-05,\
+	1e-03,1e-03,1e-02,1e-03,1e-02,1e-04,1e-01,1e-03,1e-01,1e-01,\
+	1e-02,1e-02,1e-01,1e-02,1e-01,1e-04,1e-04,1e-04,1e-04,1e-01]
+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/test410.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test410.py	(revision 13679)
+++ /issm/trunk-jpl/test/NightlyRun/test410.py	(revision 13679)
@@ -0,0 +1,31 @@
+import numpy
+from model import *
+from EnumDefinitions import *
+from MatlabFuncs import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from solve import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'../Exp/SquareShelf.exp','')
+md=parameterize(md,'../Par/SquareSheetShelf.py')
+md.extrude(3,2.)
+md=setflowequation(md,'macayeal','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md.timestepping.time_step=0
+md=solve(md,SteadystateSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate']
+field_tolerances=[1e-10,1e-10,1e-09,1e-10,1e-13,1e-10,1e-06]
+field_values=[\
+	md.results['SteadystateSolution'][1]['Vx'],\
+	md.results['SteadystateSolution'][1]['Vy'],\
+	md.results['SteadystateSolution'][1]['Vz'],\
+	md.results['SteadystateSolution'][1]['Vel'],\
+	md.results['SteadystateSolution'][1]['Pressure'],\
+	md.results['SteadystateSolution'][1]['Temperature'],\
+	md.results['SteadystateSolution'][1]['BasalforcingsMeltingRate'],\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test411.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test411.py	(revision 13679)
+++ /issm/trunk-jpl/test/NightlyRun/test411.py	(revision 13679)
@@ -0,0 +1,32 @@
+import numpy
+from model import *
+from EnumDefinitions import *
+from MatlabFuncs import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from solve import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'../Exp/SquareShelf.exp','')
+md=parameterize(md,'../Par/SquareSheetShelf.py')
+md.extrude(3,2.)
+md=setflowequation(md,'pattyn','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md.timestepping.time_step=0
+md=solve(md,SteadystateSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Vx','Vy','Vz','Vel','Pressure','Temperature','BasalforcingsMeltingRate']
+field_tolerances=[1e-09,1e-09,1e-08,1e-09,1e-09,1e-08,1e-05
+]
+field_values=[\
+	md.results['SteadystateSolution'][1]['Vx'],\
+	md.results['SteadystateSolution'][1]['Vy'],\
+	md.results['SteadystateSolution'][1]['Vz'],\
+	md.results['SteadystateSolution'][1]['Vel'],\
+	md.results['SteadystateSolution'][1]['Pressure'],\
+	md.results['SteadystateSolution'][1]['Temperature'],\
+	md.results['SteadystateSolution'][1]['BasalforcingsMeltingRate'],\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test415.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test415.m	(revision 13678)
+++ /issm/trunk-jpl/test/NightlyRun/test415.m	(revision 13679)
@@ -8,13 +8,13 @@
 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);
-md.timestepping.time_step=0;
+md.timestepping.time_step=0.;
 md.inversion.vx_obs=md.initialization.vx; md.inversion.vy_obs=md.initialization.vy;
 
Index: /issm/trunk-jpl/test/NightlyRun/test415.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test415.py	(revision 13679)
+++ /issm/trunk-jpl/test/NightlyRun/test415.py	(revision 13679)
@@ -0,0 +1,50 @@
+import numpy
+from model import *
+from EnumDefinitions import *
+from MatlabFuncs import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from solve import *
+
+md=triangle(model(),'../Exp/Square.exp',170000.)
+md=setmask(md,'../Exp/SquareShelf.exp','')
+md=parameterize(md,'../Par/SquareSheetShelf.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,1))
+md.inversion.step_threshold=0.3*numpy.ones((md.inversion.nsteps,1))
+md.timestepping.time_step=0.
+md.inversion.vx_obs=md.initialization.vx
+md.inversion.vy_obs=md.initialization.vy
+
+md.cluster=generic('name',oshostname(),'np',3)
+md=solve(md,SteadystateSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsMeltingRate']
+field_tolerances=[1e-10,1e-10,1e-11,1e-13,1e-10,1e-09,1e-10,1e-8,1e-09,1e-6]
+field_values=[\
+	md.results['SteadystateSolution'][1]['Gradient1'],\
+	md.results['SteadystateSolution'][1]['J'],\
+	md.results['SteadystateSolution'][1]['FrictionCoefficient'],\
+	md.results['SteadystateSolution'][1]['Pressure'],\
+	md.results['SteadystateSolution'][1]['Vel'],\
+	md.results['SteadystateSolution'][1]['Vx'],\
+	md.results['SteadystateSolution'][1]['Vy'],\
+	md.results['SteadystateSolution'][1]['Vz'],\
+	md.results['SteadystateSolution'][1]['Temperature'],\
+	md.results['SteadystateSolution'][1]['BasalforcingsMeltingRate']
+]
Index: /issm/trunk-jpl/test/NightlyRun/test416.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test416.m	(revision 13678)
+++ /issm/trunk-jpl/test/NightlyRun/test416.m	(revision 13679)
@@ -8,13 +8,13 @@
 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.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);
-md.timestepping.time_step=0;
+md.timestepping.time_step=0.;
 md.inversion.vx_obs=md.initialization.vx; md.inversion.vy_obs=md.initialization.vy;
 
Index: /issm/trunk-jpl/test/NightlyRun/test416.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test416.py	(revision 13679)
+++ /issm/trunk-jpl/test/NightlyRun/test416.py	(revision 13679)
@@ -0,0 +1,50 @@
+import numpy
+from model import *
+from EnumDefinitions import *
+from MatlabFuncs import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from solve import *
+
+md=triangle(model(),'../Exp/Square.exp',170000.)
+md=setmask(md,'../Exp/SquareShelf.exp','')
+md=parameterize(md,'../Par/SquareSheetShelf.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,1))
+md.inversion.step_threshold=0.3*numpy.ones((md.inversion.nsteps,1))
+md.timestepping.time_step=0.
+md.inversion.vx_obs=md.initialization.vx
+md.inversion.vy_obs=md.initialization.vy
+
+md.cluster=generic('name',oshostname(),'np',3)
+md=solve(md,SteadystateSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Gradient','Misfits','FrictionCoefficient','Pressure','Vel','Vx','Vy','Vz','Temperature','BasalforcingsMeltingRate']
+field_tolerances=[1e-08,1e-07,1e-08,1e-08,1e-08,1e-08,1e-08,1e-07,1e-08,1e-05]
+field_values=[\
+	md.results['SteadystateSolution'][1]['Gradient1'],\
+	md.results['SteadystateSolution'][1]['J'],\
+	md.results['SteadystateSolution'][1]['FrictionCoefficient'],\
+	md.results['SteadystateSolution'][1]['Pressure'],\
+	md.results['SteadystateSolution'][1]['Vel'],\
+	md.results['SteadystateSolution'][1]['Vx'],\
+	md.results['SteadystateSolution'][1]['Vy'],\
+	md.results['SteadystateSolution'][1]['Vz'],\
+	md.results['SteadystateSolution'][1]['Temperature'],\
+	md.results['SteadystateSolution'][1]['BasalforcingsMeltingRate']
+]
Index: /issm/trunk-jpl/test/NightlyRun/test419.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test419.py	(revision 13679)
+++ /issm/trunk-jpl/test/NightlyRun/test419.py	(revision 13679)
@@ -0,0 +1,28 @@
+import numpy
+from model import *
+from EnumDefinitions import *
+from MatlabFuncs import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from solve import *
+
+md=triangle(model(),'../Exp/Square.exp',180000.)
+md=setmask(md,'../Exp/SquareShelf.exp','')
+md=parameterize(md,'../Par/SquareSheetShelf.py')
+md.extrude(5,1.)
+md=setflowequation(md,'macayeal','../Exp/SquareHalfRight.exp','fill','pattyn')
+md.cluster=generic('name',oshostname(),'np',3)
+md=solve(md,DiagnosticSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Vx','Vy','Vz','Vel','Pressure']
+field_tolerances=[1e-09,1e-09,1e-09,1e-09,1e-09]
+field_values=[\
+	md.results['DiagnosticSolution'][1]['Vx'],\
+	md.results['DiagnosticSolution'][1]['Vy'],\
+	md.results['DiagnosticSolution'][1]['Vz'],\
+	md.results['DiagnosticSolution'][1]['Vel'],\
+	md.results['DiagnosticSolution'][1]['Pressure'],\
+	]
