Index: /issm/trunk/src/m/classes/public/parametercontrolB.m
===================================================================
--- /issm/trunk/src/m/classes/public/parametercontrolB.m	(revision 3206)
+++ /issm/trunk/src/m/classes/public/parametercontrolB.m	(revision 3207)
@@ -23,4 +23,12 @@
 %control type
 md.control_type='B';
+
+%weights
+weights=getfieldvalue(options,'weights',ones(md.numberofgrids,1));
+if (length(weights)~=md.numberofgrids)
+	md.weights=ones(md.numberofgrids,1);
+else
+	md.weights=weights;
+end
 
 %nsteps
Index: /issm/trunk/src/m/classes/public/parametercontroldrag.m
===================================================================
--- /issm/trunk/src/m/classes/public/parametercontroldrag.m	(revision 3206)
+++ /issm/trunk/src/m/classes/public/parametercontroldrag.m	(revision 3207)
@@ -23,4 +23,12 @@
 %control type
 md.control_type='drag';
+
+%weights
+weights=getfieldvalue(options,'weights',ones(md.numberofgrids,1));
+if (length(weights)~=md.numberofgrids)
+	md.weights=ones(md.numberofgrids,1);
+else
+	md.weights=weights;
+end
 
 %nsteps
Index: /issm/trunk/src/m/classes/public/parametercontroloptimization.m
===================================================================
--- /issm/trunk/src/m/classes/public/parametercontroloptimization.m	(revision 3206)
+++ /issm/trunk/src/m/classes/public/parametercontroloptimization.m	(revision 3207)
@@ -37,4 +37,5 @@
 md2.cm_jump=0.99*ones(md2.nsteps,1);
 md2.control_analysis=1;
+md2.weights=ones(md2.numberofgrids,1);
 
 %loop over the set of parameters
