Index: /issm/trunk-jpl/src/m/classes/qmu/normal_uncertain.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmu/normal_uncertain.m	(revision 25027)
+++ /issm/trunk-jpl/src/m/classes/qmu/normal_uncertain.m	(revision 25028)
@@ -31,7 +31,7 @@
 			self.stddev=getfieldvalue(options,'stddev');
 
-			%if the variable is scaled,  a partition vector should have been supplied, and
-			%that partition vector should have as many partitions as the mean and stddev
-			%vectors:
+			%if the variable is scaled,  a partition vector should have been 
+			%supplied, and that partition vector should have as many partitions 
+			%as the mean and stddev vectors:
 			if self.isscaled(),
 				self.partition=getfieldvalue(options,'partition');
Index: /issm/trunk-jpl/src/m/classes/qmu/uniform_uncertain.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmu/uniform_uncertain.m	(revision 25027)
+++ /issm/trunk-jpl/src/m/classes/qmu/uniform_uncertain.m	(revision 25028)
@@ -32,6 +32,6 @@
 
 			%if the variable is scaled, a partition vector should have been 
-			%supplied, and  that partition vector should have as many 
-			%partitions as the lower and upper vectors:
+			%supplied, and that partition vector should have as many partitions 
+			%as the lower and upper vectors:
 			if self.isscaled(),
 				self.partition=getfieldvalue(options,'partition');
@@ -80,5 +80,5 @@
 					error('uniform_uncertain error message: row size of lower and partition size should be identical');
 				end
-				%we need as steps in stddev and mean as there are time steps: 
+				%we need as steps in upper and lower as there are time steps: 
 				if size(self.upper,2)~=self.nsteps,
 					error('uniform_uncertain error message: col size of upper and number of time steps should be identical');
Index: /issm/trunk-jpl/src/m/classes/qmu/uniform_uncertain.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmu/uniform_uncertain.py	(revision 25027)
+++ /issm/trunk-jpl/src/m/classes/qmu/uniform_uncertain.py	(revision 25028)
@@ -6,4 +6,5 @@
 from pairoptions import pairoptions
 from partition_npart import *
+from qmupart2npart import qmupart2npart
 
 
@@ -43,4 +44,5 @@
         self.upper      = np.Inf
         self.partition  = []
+        self.nsteps     = 0
 
     @staticmethod
@@ -67,7 +69,7 @@
 
             #initialize fields:
-            uuv.descriptor = options.getfieldvalue('descriptor', '')
-            uuv.lower      = options.getfieldvalue('lower', -np.Inf)
-            uuv.upper      = options.getfieldvalue('upper', np.Inf)
+            uuv.descriptor = options.getfieldvalue('descriptor')
+            uuv.lower      = options.getfieldvalue('lower')
+            uuv.upper      = options.getfieldvalue('upper')
 
             #if the variable is scaled, a partition vector should have been 
@@ -76,9 +78,14 @@
             if uuv.isscaled():
                 uuv.partition = options.getfieldvalue('partition')
-                npart = partition_npart(uuv.partition)
-                if npart != len(uuv.upper):
+                nuv.nsteps = options.getfieldvalue('nsteps', 1)
+                npart = qmupart2npart(uuv.partition)
+                if npart != nuv.upper.shape[0]:
                     raise RuntimeError("uniform_uncertain constructor: for the scaled variable %s the upper field is not currently a vector of values for all the partitions described in the partition vector" % uuv.descriptor)
-                if npart != len(uuv.lower):
+                if npart != nuv.lower.shape[0]:
                     raise RuntimeError("uniform_uncertain constructor: for the scaled variable %s the lower field is not currently a vector of values for all the partitions described in the partition vector" % uuv.descriptor)
+                if nuv.nsteps != nuv.upper.shape[1]:
+                    raise RuntimeError("uniform_uncertain constructor: for the scaled variable %s the col size of the upper field should be identical to the number of time steps" % nuv.descriptor)
+                if nuv.nsteps != nuv.lower.shape[1]:
+                    raise RuntimeError("uniform_uncertain constructor: for the scaled variable %s the col size of the lower field should be identical to the number of time steps" % nuv.descriptor)
 
         return [uuv] # Always return a list, so we have something akin to a MATLAB single row matrix
@@ -91,4 +98,6 @@
         if self.partition != []:
             string = "%s\n%s" % (string, fielddisplay(self, 'partition', 'partition vector defining where sampling will occur'))
+        string = "%s\n%s" % (string, fielddisplay(self, 'nsteps', 'number of time steps'))
+
         return string
     #}}}
@@ -107,9 +116,15 @@
             if self.partition == []:
                 raise RuntimeError("uniform_uncertain is a scaled variable, but it's missing a partition vector")
-            #better have a partition vector that has as many partitions as upper and lower's size: 
-            if len(self.upper) != partition_npart(self.partititon):
-                raise RuntimeError("uniform_uncertain error message: upper and partition should be vectors of identical size")
-            if len(self.lower) != partition_npart(self.partition):
-                raise RuntimeError("uniform_uncertain error message: lower and partition should be vectors of identical size")
+            #better have a partition vector that has as many partitions as 
+            #upper and lower's size:
+            if self.upper.shape[0] != partition_npart(self.partititon):
+                raise RuntimeError("uniform_uncertain error message: row size of upper and partition size should be identical")
+            if self.lower.shape[0] != partition_npart(self.partition):
+                raise RuntimeError("uniform_uncertain error message: row size of lower and partition size should be identical")
+            #we need as steps in upper and lower as there are time steps
+            if self.stddev.shape[1] != self.nsteps:
+                raise RuntimeError("uniform_uncertain error message: col size of upper and partition size should be identical")
+            if self.mean.shape[1] != self.nsteps:
+                raise RuntimeError("uniform_uncertain error message: col size of lower and partition size should be identical")
             md = checkfield(md, 'field', self.partition, 'fieldname', 'uniform_uncertain.partition', 'NaN', 1, 'Inf', 1, '>=', -1, 'numel', [md.mesh.numberofvertices, md.mesh.numberofvertices])
             if self.partition.shape[1] > 1:
Index: /issm/trunk-jpl/src/m/qmu/setupdesign/QmuSetupVariables.m
===================================================================
--- /issm/trunk-jpl/src/m/qmu/setupdesign/QmuSetupVariables.m	(revision 25027)
+++ /issm/trunk-jpl/src/m/qmu/setupdesign/QmuSetupVariables.m	(revision 25028)
@@ -24,5 +24,5 @@
 		nlower=length(variables.lower,2);
 		nupper=length(variables.upper,2);
-		if (nstddev ~= nt || nmean ~=nt),
+		if (nlower ~= nt || nupper ~= nt),
 			error('QmuSetupVariables error message: upper and lower fields should have the same number of cols as the number of time steps');
 		end
Index: /issm/trunk-jpl/src/m/qmu/setupdesign/QmuSetupVariables.py
===================================================================
--- /issm/trunk-jpl/src/m/qmu/setupdesign/QmuSetupVariables.py	(revision 25027)
+++ /issm/trunk-jpl/src/m/qmu/setupdesign/QmuSetupVariables.py	(revision 25028)
@@ -26,8 +26,12 @@
 
         if isinstance(variables, uniform_uncertain):
-            nlower = len(variables.lower)
-            nupper = len(variables.upper)
+            nlower = variables.lower.shape[0]
+            nupper = variables.upper.shape[0]
             if nlower != npart or nupper != npart:
-                raise RuntimeError('QmuSetupVariables error message: upper and lower fields should be same size as the number of partitions')
+                raise RuntimeError('QmuSetupVariables error message: upper and lower fields should have the same number of rows as the number of partitions')
+            nlower = variables.lower.shape[1]
+            nupper = variables.upper.shape[1]
+            if nlower != npart or nupper != npart:
+                raise RuntimeError('QmuSetupVariables error message: upper and lower fields should have the same number of cols as the number of time steps')
         elif isinstance(variables, normal_uncertain):
             nstddev = variables.stddev.shape[0]
@@ -38,5 +42,5 @@
             nmean = variables.mean.shape[1]
             if nstddev != nt or nmean != nt:
-                raise RuntimeError('QmuSetupVariables error message: stddev and mean fields should have the same number of cols as the number of partitions')
+                raise RuntimeError('QmuSetupVariables error message: stddev and mean fields should have the same number of cols as the number of time steps')
 
         #ok, dealing with semi-discrete distributed variable. Distribute according to how many
