Index: /issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py	(revision 20910)
@@ -26,5 +26,5 @@
 		if not os.path.exists(icefrontfile):
 			raise IOError("SetIceShelfBC error message: ice front file '%s' not found." % icefrontfile)
-		[nodeinsideicefront,dum]=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,icefrontfile,'node',2)
+		nodeinsideicefront=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,icefrontfile,'node',2)
 		nodeonicefront=numpy.logical_and(md.mesh.vertexonboundary,nodeinsideicefront.reshape(-1))
 	else:
Index: /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py	(revision 20910)
@@ -28,5 +28,5 @@
 		if not os.path.exists(icefrontfile):
 			raise IOError("SetMarineIceSheetBC error message: ice front file '%s' not found." % icefrontfile)
-		[incontour,dum]=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,icefrontfile,'node',2)
+		incontour=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,icefrontfile,'node',2)
 		vertexonicefront=numpy.logical_and(md.mesh.vertexonboundary,incontour.reshape(-1))
 	else:
Index: /issm/trunk-jpl/src/m/classes/adinversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/adinversion.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/classes/adinversion.py	(revision 20910)
@@ -73,5 +73,5 @@
 			return
 
-		if not IssmConfig('_HAVE_M1QN3_'):
+		if not IssmConfig('_HAVE_M1QN3_')[0]:
 			md = checkmessage(md,['M1QN3 has not been installed, ISSM needs to be reconfigured and recompiled with AD'])
 
Index: /issm/trunk-jpl/src/m/classes/dependent.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/dependent.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/classes/dependent.py	(revision 20910)
@@ -44,5 +44,5 @@
 			#process the file and retrieve segments
 			mesh=options.getfieldvalue('mesh')
-			self.segments=MeshProfileIntersection(mesh.elements,mesh.x,mesh.y,self.exp)
+			self.segments=MeshProfileIntersection(mesh.elements,mesh.x,mesh.y,self.exp)[0]
 	# }}}
 	def __repr__(self):    # {{{
Index: /issm/trunk-jpl/src/m/classes/model.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/classes/model.py	(revision 20910)
@@ -395,6 +395,6 @@
 		#recreate segments
 		if md1.mesh.__class__.__name__=='mesh2d':
-			[md2.mesh.vertexconnectivity]=NodeConnectivity(md2.mesh.elements,md2.mesh.numberofvertices)
-			[md2.mesh.elementconnectivity]=ElementConnectivity(md2.mesh.elements,md2.mesh.vertexconnectivity)
+			md2.mesh.vertexconnectivity=NodeConnectivity(md2.mesh.elements,md2.mesh.numberofvertices)[0]
+			md2.mesh.elementconnectivity=ElementConnectivity(md2.mesh.elements,md2.mesh.vertexconnectivity)[0]
 			md2.mesh.segments=contourenvelope(md2)
 			md2.mesh.vertexonboundary=numpy.zeros(numberofvertices2,bool)
@@ -402,6 +402,6 @@
 		else:
 			#First do the connectivity for the contourenvelope in 2d
-			[md2.mesh.vertexconnectivity]=NodeConnectivity(md2.mesh.elements2d,md2.mesh.numberofvertices2d)
-			[md2.mesh.elementconnectivity]=ElementConnectivity(md2.mesh.elements2d,md2.mesh.vertexconnectivity)
+			md2.mesh.vertexconnectivity=NodeConnectivity(md2.mesh.elements2d,md2.mesh.numberofvertices2d)[0]
+			md2.mesh.elementconnectivity=ElementConnectivity(md2.mesh.elements2d,md2.mesh.vertexconnectivity)[0]
 			segments=contourenvelope(md2)
 			md2.mesh.vertexonboundary=numpy.zeros(numberofvertices2/md2.mesh.numberoflayers,bool)
@@ -409,6 +409,6 @@
 			md2.mesh.vertexonboundary=numpy.tile(md2.mesh.vertexonboundary,md2.mesh.numberoflayers)
 			#Then do it for 3d as usual
-			[md2.mesh.vertexconnectivity]=NodeConnectivity(md2.mesh.elements,md2.mesh.numberofvertices)
-			[md2.mesh.elementconnectivity]=ElementConnectivity(md2.mesh.elements,md2.mesh.vertexconnectivity)
+			md2.mesh.vertexconnectivity=NodeConnectivity(md2.mesh.elements,md2.mesh.numberofvertices)[0]
+			md2.mesh.elementconnectivity=ElementConnectivity(md2.mesh.elements,md2.mesh.vertexconnectivity)[0]
 
 		#Boundary conditions: Dirichlets on new boundary
Index: /issm/trunk-jpl/src/m/classes/taoinversion.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/taoinversion.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/classes/taoinversion.py	(revision 20910)
@@ -90,6 +90,6 @@
 
 		#minimization algorithm
-		PETSCMAJOR = IssmConfig('_PETSC_MAJOR_')
-		PETSCMINOR = IssmConfig('_PETSC_MINOR_')
+		PETSCMAJOR = IssmConfig('_PETSC_MAJOR_')[0]
+		PETSCMINOR = IssmConfig('_PETSC_MINOR_')[0]
 		if(PETSCMAJOR>3 or (PETSCMAJOR==3 and PETSCMINOR>=5)):
 			self.algorithm = 'blmvm';
@@ -122,5 +122,5 @@
 		if not self.control:
 			return md
-		if not IssmConfig('_HAVE_TAO_'):
+		if not IssmConfig('_HAVE_TAO_')[0]:
 			md = checkmessage(md,['TAO has not been installed, ISSM needs to be reconfigured and recompiled with TAO'])
 
@@ -141,6 +141,6 @@
 
 
-		PETSCMAJOR = IssmConfig('_PETSC_MAJOR_')
-		PETSCMINOR = IssmConfig('_PETSC_MINOR_')
+		PETSCMAJOR = IssmConfig('_PETSC_MAJOR_')[0]
+		PETSCMINOR = IssmConfig('_PETSC_MINOR_')[0]
 		if(PETSCMAJOR>3 or (PETSCMAJOR==3 and PETSCMINOR>=5)):
 			md = checkfield(md,'fieldname','inversion.algorithm','values',{'blmvm','cg','lmvm'})
Index: /issm/trunk-jpl/src/m/classes/toolkits.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/toolkits.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/classes/toolkits.py	(revision 20910)
@@ -48,5 +48,5 @@
 
 		#Convert analysis from enum to string
-		[analysis]=EnumToString(analysis)
+		analysis=EnumToString(analysis)[0]
 
 		#Create dynamic property if property does not exist yet
Index: /issm/trunk-jpl/src/m/geometry/FlagElements.py
===================================================================
--- /issm/trunk-jpl/src/m/geometry/FlagElements.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/geometry/FlagElements.py	(revision 20910)
@@ -47,5 +47,5 @@
 			else:
 				#ok, flag elements
-				[flag,dum]=ContourToMesh(md.mesh.elements[:,0:3].copy(),md.mesh.x,md.mesh.y,region,'element',1)
+				flag=ContourToMesh(md.mesh.elements[:,0:3].copy(),md.mesh.x,md.mesh.y,region,'element',1)
 				flag=flag.astype(bool)
 
Index: /issm/trunk-jpl/src/m/interp/SectionValues.py
===================================================================
--- /issm/trunk-jpl/src/m/interp/SectionValues.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/interp/SectionValues.py	(revision 20910)
@@ -127,5 +127,5 @@
 
 		#Interpolation of data on specified points
-		data_interp=InterpFromMeshToMesh3d(md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.z,data,X3,Y3,Z3,npy.nan)
+		data_interp=InterpFromMeshToMesh3d(md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.z,data,X3,Y3,Z3,npy.nan)[0]
 	
 		#build outputs
Index: /issm/trunk-jpl/src/m/mesh/bamg.py
===================================================================
--- /issm/trunk-jpl/src/m/mesh/bamg.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/mesh/bamg.py	(revision 20910)
@@ -93,5 +93,5 @@
 			#Checks that all holes are INSIDE the principle domain outline
 			if i:
-				flags=ContourToNodes(domaini['x'],domaini['y'],domainfile,0)
+				flags=ContourToNodes(domaini['x'],domaini['y'],domainfile,0)[0]
 				if numpy.any(numpy.logical_not(flags)):
 					raise RuntimeError("bamg error message: All holes should be strictly inside the principal domain")
@@ -119,5 +119,5 @@
 
 				#detect whether all points of the rift are inside the domain
-				flags=ContourToNodes(rifti['x'],rifti['y'],domain[0],0)
+				flags=ContourToNodes(rifti['x'],rifti['y'],domain[0],0)[0]
 				if numpy.all(numpy.logical_not(flags)):
 					raise RuntimeError("one rift has all its points outside of the domain outline")
@@ -231,5 +231,5 @@
 
 			#only keep those inside
-			flags=ContourToNodes(track[:,0],track[:,1],domainfile,0)
+			flags=ContourToNodes(track[:,0],track[:,1],domainfile,0)[0]
 			track=track[numpy.nonzero(flags),:]
 
@@ -251,5 +251,5 @@
 
 			#only keep those inside
-			flags=ContourToNodes(requiredvertices[:,0],requiredvertices[:,1],domainfile,0)
+			flags=ContourToNodes(requiredvertices[:,0],requiredvertices[:,1],domainfile,0)[0]
 			requiredvertices=requiredvertices[numpy.nonzero(flags)[0],:]
 			#Add all points to bamg_geometry
@@ -313,5 +313,5 @@
 
 	#call Bamg
-	[bamgmesh_out,bamggeom_out]=BamgMesher(bamg_mesh.__dict__,bamg_geometry.__dict__,bamg_options)
+	bamgmesh_out,bamggeom_out=BamgMesher(bamg_mesh.__dict__,bamg_geometry.__dict__,bamg_options)
 
 	# plug results onto model
Index: /issm/trunk-jpl/src/m/mesh/rifts/meshprocessrifts.py
===================================================================
--- /issm/trunk-jpl/src/m/mesh/rifts/meshprocessrifts.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/mesh/rifts/meshprocessrifts.py	(revision 20910)
@@ -22,5 +22,5 @@
 
 	#Call MEX file
-	[md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.segments,md.mesh.segmentmarkers,md.rifts.riftstruct]=TriMeshProcessRifts(md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.segments,md.mesh.segmentmarkers)
+	md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.segments,md.mesh.segmentmarkers,md.rifts.riftstruct=TriMeshProcessRifts(md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.segments,md.mesh.segmentmarkers)
 	md.mesh.elements=md.mesh.elements.astype(int)
 	md.mesh.x=md.mesh.x.reshape(-1)
@@ -44,5 +44,5 @@
 
 	#In case we have rifts that open up the domain outline, we need to open them: 
-	[flags,dum]=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,domainoutline,'node',0)
+	flags=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,domainoutline,'node',0)
 	found=0
 	for rift in md.rifts.riftstruct:
Index: /issm/trunk-jpl/src/m/mesh/squaremesh.py
===================================================================
--- /issm/trunk-jpl/src/m/mesh/squaremesh.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/mesh/squaremesh.py	(revision 20910)
@@ -71,6 +71,6 @@
 
 	#Now, build the connectivity tables for this mesh.
-	[md.mesh.vertexconnectivity]=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices)
-	[md.mesh.elementconnectivity]=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity)
+	md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices)[0]
+	md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity)[0]
 
 	return md
Index: /issm/trunk-jpl/src/m/mesh/triangle.py
===================================================================
--- /issm/trunk-jpl/src/m/mesh/triangle.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/mesh/triangle.py	(revision 20910)
@@ -45,5 +45,5 @@
 	#Mesh using TriMesh
 	md.mesh=mesh2d()
-	[md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.segments,md.mesh.segmentmarkers]=TriMesh(domainname,riftname,area)
+	md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.segments,md.mesh.segmentmarkers=TriMesh(domainname,riftname,area)
 	md.mesh.elements=md.mesh.elements.astype(int)
 	md.mesh.segments=md.mesh.segments.astype(int)
@@ -57,6 +57,6 @@
 
 	#Now, build the connectivity tables for this mesh.
-	[md.mesh.vertexconnectivity] = NodeConnectivity(md.mesh.elements, md.mesh.numberofvertices)
-	[md.mesh.elementconnectivity] = ElementConnectivity(md.mesh.elements, md.mesh.vertexconnectivity)
+	md.mesh.vertexconnectivity = NodeConnectivity(md.mesh.elements, md.mesh.numberofvertices)[0]
+	md.mesh.elementconnectivity = ElementConnectivity(md.mesh.elements, md.mesh.vertexconnectivity)[0]
 
 	return md
Index: /issm/trunk-jpl/src/m/parameterization/contourenvelope.py
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/contourenvelope.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/parameterization/contourenvelope.py	(revision 20910)
@@ -41,7 +41,7 @@
 	#Computing connectivity
 	if numpy.size(md.mesh.vertexconnectivity,axis=0)!=md.mesh.numberofvertices and numpy.size(md.mesh.vertexconnectivity,axis=0)!=md.mesh.numberofvertices2d:
-		[md.mesh.vertexconnectivity]=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices)
+		md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices)[0]
 	if numpy.size(md.mesh.elementconnectivity,axis=0)!=md.mesh.numberofelements and numpy.size(md.mesh.elementconnectivity,axis=0)!=md.mesh.numberofelements2d:
-		[md.mesh.elementconnectivity]=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity)
+		md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity)[0]
 
 	#get nodes inside profile
Index: /issm/trunk-jpl/src/m/parameterization/setmask.py
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/setmask.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/parameterization/setmask.py	(revision 20910)
@@ -64,5 +64,5 @@
 			raise IOError("setmask error message: ice domain file '%s' not found." % icedomainfile)
 		#use contourtomesh to set ice values inside ice domain
-		[vertexinsideicedomain,elementinsideicedomain]=ContourToMesh(elements,x,y,icedomainfile,'node',1)
+		vertexinsideicedomain,elementinsideicedomain=ContourToMesh(elements,x,y,icedomainfile,'node',1)
 		md.mask.ice_levelset[numpy.nonzero(vertexinsideicedomain)[0]] = -1.
 	else:
Index: /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py	(revision 20910)
@@ -60,5 +60,5 @@
 
 		if not isinstance(md.private.solution,(str,unicode)):
-			[md.private.solution]=EnumToString(md.private.solution)
+			md.private.solution=EnumToString(md.private.solution)[0]
 		md=postqmu(md)
 		os.chdir('..')
Index: /issm/trunk-jpl/src/m/solve/solve.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/solve.py	(revision 20909)
+++ /issm/trunk-jpl/src/m/solve/solve.py	(revision 20910)
@@ -87,5 +87,5 @@
 	if solutionenum == FlaimSolutionEnum():
 		md=flaim_sol(md,options)
-		[md.private.solution]=EnumToString(solutionenum)
+		md.private.solution=EnumToString(solutionenum)[0]
 		return md
 
