Index: /issm/trunk-jpl/test/NightlyRun/test212.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test212.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test212.py	(revision 23785)
@@ -19,10 +19,10 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['MaterialsRheologyBbar']
-md.inversion.min_parameters=1.0e6*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=2.0e9*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1.0e6*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=2.0e9*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[101]
-md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
-md.inversion.gradient_scaling=1.0e7*np.ones((md.inversion.nsteps))
+md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,len(md.inversion.cost_functions)))
+md.inversion.gradient_scaling=1.0e7*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
 md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
Index: /issm/trunk-jpl/test/NightlyRun/test213.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test213.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test213.py	(revision 23785)
@@ -22,10 +22,10 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['MaterialsRheologyBbar']
-md.inversion.min_parameters=10**6*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=2.*10**9*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=10**6*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=2.*10**9*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[101]
-md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
-md.inversion.gradient_scaling=10**7*np.ones((md.inversion.nsteps))
+md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,len(md.inversion.cost_functions)))
+md.inversion.gradient_scaling=10**7*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
 md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
Index: /issm/trunk-jpl/test/NightlyRun/test214.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test214.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test214.py	(revision 23785)
@@ -22,10 +22,10 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['MaterialsRheologyBbar']
-md.inversion.min_parameters=1e6*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=2.*1e9*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1e6*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=2.*1e9*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[101]
-md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
-md.inversion.gradient_scaling=1e7*np.ones((md.inversion.nsteps))
+md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,len(md.inversion.cost_functions)))
+md.inversion.gradient_scaling=1e7*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
 md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
Index: /issm/trunk-jpl/test/NightlyRun/test215.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test215.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test215.py	(revision 23785)
@@ -20,10 +20,10 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['MaterialsRheologyBbar']
-md.inversion.min_parameters=1e6*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=2e9*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1e6*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=2e9*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[101]
-md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
-md.inversion.gradient_scaling=1e7*np.ones((md.inversion.nsteps))
+md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,len(md.inversion.cost_functions)))
+md.inversion.gradient_scaling=1e7*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
 md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
Index: /issm/trunk-jpl/test/NightlyRun/test245.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test245.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test245.py	(revision 23785)
@@ -19,6 +19,6 @@
 # initalize pdd fields
 md.smb.initialize(md)
-md.smb.s0p = md.geometry.surface
-md.smb.s0t = md.geometry.surface
+md.smb.s0p = md.geometry.surface.reshape(-1,1)
+md.smb.s0t = md.geometry.surface.reshape(-1,1)
 
 # 
Index: /issm/trunk-jpl/test/NightlyRun/test272.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test272.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test272.py	(revision 23785)
@@ -24,10 +24,10 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['DamageDbar']
-md.inversion.min_parameters=10**-13*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=10**-13*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[101]
-md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices))
-md.inversion.gradient_scaling=0.9*np.ones((md.inversion.nsteps))
+md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,len(md.inversion.cost_functions)))
+md.inversion.gradient_scaling=0.9*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
 md.inversion.step_threshold=0.99*np.ones((md.inversion.nsteps))
Index: /issm/trunk-jpl/test/NightlyRun/test320.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test320.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test320.py	(revision 23785)
@@ -19,11 +19,11 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['FrictionCoefficient']
-md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[103,501]
 md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
 md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
-md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
+md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2*np.ones(md.inversion.nsteps)
 md.inversion.step_threshold=0.3*np.ones(md.inversion.nsteps)
Index: /issm/trunk-jpl/test/NightlyRun/test321.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test321.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test321.py	(revision 23785)
@@ -19,11 +19,11 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['FrictionCoefficient']
-md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[102,501]
 md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
 md.inversion.cost_functions_coefficients[:,1]=2*10**-7
-md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
+md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2*np.ones(md.inversion.nsteps)
 md.inversion.step_threshold=0.3*np.ones(md.inversion.nsteps)
Index: /issm/trunk-jpl/test/NightlyRun/test322.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test322.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test322.py	(revision 23785)
@@ -19,11 +19,11 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['FrictionCoefficient']
-md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[104,501]
 md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
 md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
-md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
+md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2*np.ones(md.inversion.nsteps)
 md.inversion.step_threshold=0.3*np.ones(md.inversion.nsteps)
Index: /issm/trunk-jpl/test/NightlyRun/test340.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test340.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test340.py	(revision 23785)
@@ -20,6 +20,6 @@
 md.inversion.iscontrol = 1
 md.inversion.control_parameters = ['FrictionCoefficient']
-md.inversion.min_parameters = 1. * np.ones((md.mesh.numberofvertices,))
-md.inversion.max_parameters = 200. * np.ones((md.mesh.numberofvertices,))
+md.inversion.min_parameters = 1. * np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters = 200. * np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.maxsteps = 2
 md.inversion.maxiter = 6
Index: /issm/trunk-jpl/test/NightlyRun/test341.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test341.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test341.py	(revision 23785)
@@ -21,6 +21,6 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['FrictionCoefficient']
-md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.maxsteps=2
 md.inversion.maxiter=6
Index: /issm/trunk-jpl/test/NightlyRun/test415.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test415.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test415.py	(revision 23785)
@@ -19,11 +19,11 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['FrictionCoefficient']
-md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[103,501]
 md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
 md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
-md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
+md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2*np.ones((md.inversion.nsteps))
 md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
Index: /issm/trunk-jpl/test/NightlyRun/test416.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test416.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test416.py	(revision 23785)
@@ -19,11 +19,11 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['FrictionCoefficient']
-md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[102,501]
 md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
 md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
-md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
+md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2*np.ones((md.inversion.nsteps))
 md.inversion.step_threshold=0.3*np.ones((md.inversion.nsteps))
Index: /issm/trunk-jpl/test/NightlyRun/test512.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test512.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test512.py	(revision 23785)
@@ -19,11 +19,11 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['FrictionCoefficient']
-md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[103,501]
 md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
 md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
-md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
+md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
 md.inversion.step_threshold=2.99*np.ones((md.inversion.nsteps))
Index: /issm/trunk-jpl/test/NightlyRun/test513.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test513.py	(revision 23784)
+++ /issm/trunk-jpl/test/NightlyRun/test513.py	(revision 23785)
@@ -18,11 +18,11 @@
 md.inversion.iscontrol=1
 md.inversion.control_parameters=['FrictionCoefficient']
-md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices))
-md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices))
+md.inversion.min_parameters=1.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
+md.inversion.max_parameters=200.*np.ones((md.mesh.numberofvertices,len(md.inversion.control_parameters)))
 md.inversion.nsteps=2
 md.inversion.cost_functions=[103,501]
 md.inversion.cost_functions_coefficients=np.ones((md.mesh.numberofvertices,2))
 md.inversion.cost_functions_coefficients[:,1]=2.*10**-7
-md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps))
+md.inversion.gradient_scaling=3.*np.ones((md.inversion.nsteps,len(md.inversion.control_parameters)))
 md.inversion.maxiter_per_step=2.*np.ones((md.inversion.nsteps))
 md.inversion.step_threshold=0.99*np.ones((md.inversion.nsteps))
