Index: /issm/trunk-jpl/src/m/partition/partitioner.py
===================================================================
--- /issm/trunk-jpl/src/m/partition/partitioner.py	(revision 23439)
+++ /issm/trunk-jpl/src/m/partition/partitioner.py	(revision 23440)
@@ -1,3 +1,4 @@
 import numpy as np
+import copy
 from pairoptions import *
 import MatlabFuncs as m
@@ -41,8 +42,8 @@
 	recomputeadjacency=options.getfieldvalue('recomputeadjacency')
 
-	if(np.ndim(md.mesh)==3):
+	if(md.mesh.dimension()==3):
 		#partitioning essentially happens in 2D. So partition in 2D, then 
 		#extrude the partition vector vertically. 
-		md3d=md #save  for later
+		md3d = copy.deepcopy(md)
 		md.mesh.elements=md.mesh.elements2d
 		md.mesh.x=md.mesh.x2d
@@ -116,9 +117,9 @@
 
 	#extrude if we are in 3D:
-	if np.ndim(md.mesh)==3:
+	if md.mesh.dimension()==3:
 		md3d.qmu.vertex_weight=md.qmu.vertex_weight
 		md3d.qmu.adjacency=md.qmu.adjacency
 		md=md3d
-		part=project3d(md,'vector',part.T,'type','node')
+		part=project3d(md,'vector',np.squeeze(part),'type','node')
 
 	md.qmu.partition=part
