Index: /issm/trunk-jpl/src/m/boundaryconditions/SetIceSheetBC.py
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetIceSheetBC.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetIceSheetBC.py	(revision 17480)
@@ -1,5 +1,5 @@
 import os
 import numpy
-from ContourToMesh import *
+from ContourToMesh import ContourToMesh
 
 def SetIceSheetBC(md):
Index: /issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetIceShelfBC.py	(revision 17480)
@@ -1,6 +1,6 @@
 import os
 import numpy
-from ContourToMesh import *
-from MatlabFuncs import *
+from ContourToMesh import ContourToMesh
+import MatlabFuncs as m
 
 def SetIceShelfBC(md,icefrontfile=''):
@@ -44,7 +44,7 @@
 
 	#First find segments that are not completely on the front
-	if strcmp(md.mesh.meshtype(),'3D'):
+	if m.strcmp(md.mesh.meshtype(),'3D'):
 		numbernodesfront=4;
-	elif strcmp(md.mesh.meshtype(),'2Dhorizontal'):
+	elif m.strcmp(md.mesh.meshtype(),'2Dhorizontal'):
 		numbernodesfront=2;
 	else:
Index: /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py
===================================================================
--- /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py	(revision 17480)
@@ -1,6 +1,6 @@
 import os
 import numpy
-from ContourToMesh import *
-from MatlabFuncs import *
+from ContourToMesh import ContourToMesh
+import MatlabFuncs as m
 
 def SetMarineIceSheetBC(md,icefrontfile=''):
@@ -53,5 +53,5 @@
 
 	#First find segments that are not completely on the front
-	if not strcmp(md.mesh.meshtype(),'3D'):
+	if not m.strcmp(md.mesh.meshtype(),'3D'):
 		numbernodesfront=2
 	else:
Index: /issm/trunk-jpl/src/m/classes/clusters/generic.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/clusters/generic.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/clusters/generic.py	(revision 17480)
@@ -1,13 +1,14 @@
 import socket
+import os
 import math
 import subprocess
 from IssmConfig import IssmConfig
 from EnumToString import EnumToString
-from issmdir import *
-from pairoptions import *
-from issmssh import *
-from issmscpin import *
-from issmscpout import *
-from MatlabFuncs import *
+from issmdir import issmdir
+from pairoptions import pairoptions
+from issmssh import issmssh
+from issmscpin import issmscpin
+from issmscpout import issmscpout
+import MatlabFuncs as m
 
 class generic(object):
@@ -37,5 +38,5 @@
 
 		#get name
-		self.name=gethostname()
+		self.name=socket.gethostname()
 
 		#initialize cluster using user settings if provided
@@ -71,5 +72,5 @@
 
 		#write queuing script 
-		if not ispc():
+		if not m.ispc():
 
 			fid=open(modelname+'.queue','w')
@@ -123,5 +124,5 @@
 
 		#write queuing script 
-		if not ispc():
+		if not m.ispc():
 
 			fid=open(modelname+'.queue','w')
@@ -181,5 +182,5 @@
 	def Download(self,dirname,filelist):     # {{{
 
-		if ispc():
+		if m.ispc():
 			#do nothing
 			return
Index: /issm/trunk-jpl/src/m/classes/damage.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/damage.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/damage.py	(revision 17480)
@@ -2,6 +2,7 @@
 from EnumDefinitions import *
 from StringToEnum import StringToEnum
-from checkfield import *
-from WriteData import *
+from checkfield import checkfield
+from WriteData import WriteData
+import MatlabFuncs as m
 
 class damage(object):
@@ -109,9 +110,9 @@
 	def defaultoutputs(self,md): # {{{
 
-		if strcmp(md.mesh.meshtype(),'3D'):
+		if m.strcmp(md.mesh.meshtype(),'3D'):
 			list = ['DamageD']
-		elif strcmp(md.mesh.meshtype(),'2Dhorizontal'):
+		elif m.strcmp(md.mesh.meshtype(),'2Dhorizontal'):
 			list = ['DamageD']
-		elif strcmp(md.mesh.meshtype(),'2Dvertical'):
+		elif m.strcmp(md.mesh.meshtype(),'2Dvertical'):
 			list = ['DamageD']
 		else:
@@ -143,5 +144,5 @@
 			md = checkfield(md,'fieldname','damage.equiv_stress','numel',[1],'values',[0,1])
 			md = checkfield(md,'fieldname','damage.requested_outputs','stringrow',1)
-		elif strcmpi(self.law,'undamaged'):
+		elif m.strcmpi(self.law,'undamaged'):
 			if (solution==DamageEvolutionSolutionEnum):
 				raise RuntimeError('Invalid evolution law (md.damage.law) for a damage solution')
Index: /issm/trunk-jpl/src/m/classes/dependent.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/dependent.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/dependent.py	(revision 17480)
@@ -1,10 +1,9 @@
 import os.path
 import numpy
-from pairoptions import *
-from fielddisplay import *
-from MatlabFuncs import *
+from pairoptions import pairoptions
+from fielddisplay import fielddisplay
+import MatlabFuncs as m
 from EnumDefinitions import *
-from WriteData import *
-from MeshProfileIntersection import *
+from MeshProfileIntersection import MeshProfileIntersection
 
 class dependent(object):
Index: /issm/trunk-jpl/src/m/classes/flowequation.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/flowequation.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/flowequation.py	(revision 17480)
@@ -3,6 +3,7 @@
 from fielddisplay import fielddisplay
 from EnumDefinitions import *
-from checkfield import *
-from WriteData import *
+from checkfield import checkfield
+from WriteData import WriteData
+import MatlabFuncs as m
 
 class flowequation(object):
@@ -79,8 +80,8 @@
 			md = checkfield(md,'fieldname','flowequation.borderHO','size',[md.mesh.numberofvertices],'values',[0,1])
 			md = checkfield(md,'fieldname','flowequation.borderFS','size',[md.mesh.numberofvertices],'values',[0,1])
-			if strcmp(md.mesh.meshtype(),'2Dhorizontal'):
+			if m.strcmp(md.mesh.meshtype(),'2Dhorizontal'):
 				md = checkfield(md,'fieldname','flowequation.vertex_equation','size',[md.mesh.numberofvertices],'values',[1,2])
 				md = checkfield(md,'fieldname','flowequation.element_equation','size',[md.mesh.numberofelements],'values',[1,2])
-			elif strcmp(md.mesh.meshtype(),'3D'):
+			elif m.strcmp(md.mesh.meshtype(),'3D'):
 				md = checkfield(md,'fieldname','flowequation.vertex_equation','size',[md.mesh.numberofvertices],'values',numpy.arange(0,8+1))
 				md = checkfield(md,'fieldname','flowequation.element_equation','size',[md.mesh.numberofelements],'values',numpy.arange(0,8+1))
Index: /issm/trunk-jpl/src/m/classes/groundingline.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/groundingline.py	(revision 17480)
@@ -3,7 +3,7 @@
 from EnumDefinitions import *
 from StringToEnum import StringToEnum
-from checkfield import *
-from WriteData import *
-from MatlabFuncs import *
+from checkfield import checkfield
+from WriteData import WriteData
+import MatlabFuncs as m
 
 class groundingline(object):
@@ -44,5 +44,5 @@
 		md = checkfield(md,'fieldname','groundingline.migration','values',['None','AgressiveMigration','SoftMigration','SubelementMigration','SubelementMigration2'])
 
-		if not strcmp(self.migration,'None'):
+		if not m.strcmp(self.migration,'None'):
 			if numpy.any(numpy.isnan(md.geometry.bathymetry)):
 				md.checkmessage("requesting grounding line migration, but bathymetry is absent!")
Index: /issm/trunk-jpl/src/m/classes/independent.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/independent.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/independent.py	(revision 17480)
@@ -1,8 +1,7 @@
 import numpy
-from pairoptions import *
-from fielddisplay import *
-from MatlabFuncs import *
+from pairoptions import pairoptions
+from fielddisplay import fielddisplay
+import MatlabFuncs as m
 from EnumDefinitions import *
-from WriteData import *
 
 class independent(object):
Index: /issm/trunk-jpl/src/m/classes/initialization.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/initialization.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/initialization.py	(revision 17480)
@@ -2,6 +2,7 @@
 from fielddisplay import fielddisplay
 from EnumDefinitions import *
-from checkfield import *
-from WriteData import *
+from checkfield import checkfield
+from WriteData import WriteData
+import MatlabFuncs as m
 
 class initialization(object):
@@ -65,5 +66,5 @@
 			md = checkfield(md,'fieldname','initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
-			if strcmp(md.mesh.meshtype(),'3D'):
+			if m.strcmp(md.mesh.meshtype(),'3D'):
 				md = checkfield(md,'fieldname','initialization.vz','NaN',1,'size',[md.mesh.numberofvertices])
 			md = checkfield(md,'fieldname','initialization.pressure','NaN',1,'size',[md.mesh.numberofvertices])
Index: /issm/trunk-jpl/src/m/classes/mesh.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/mesh.py	(revision 17480)
@@ -2,6 +2,7 @@
 from fielddisplay import fielddisplay
 from EnumDefinitions import *
-from checkfield import *
-from MatlabFuncs import *
+from checkfield import checkfield
+import MatlabFuncs as m
+from WriteData import WriteData
 
 class mesh(object):
@@ -131,5 +132,5 @@
 		else:
 			md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements,6])
-		if numpy.any(numpy.logical_not(ismember(numpy.arange(1,md.mesh.numberofvertices+1),md.mesh.elements))):
+		if numpy.any(numpy.logical_not(m.ismember(numpy.arange(1,md.mesh.numberofvertices+1),md.mesh.elements))):
 			md.checkmessage("orphan nodes have been found. Check the mesh outline")
 		md = checkfield(md,'fieldname','mesh.dimension','values',[2,3])
Index: /issm/trunk-jpl/src/m/classes/mesh2d.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh2d.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/mesh2d.py	(revision 17480)
@@ -2,6 +2,6 @@
 from fielddisplay import fielddisplay
 from EnumDefinitions import *
-from checkfield import *
-from MatlabFuncs import *
+from checkfield import checkfield
+import MatlabFuncs as m
 
 class mesh2d(object):
@@ -88,5 +88,5 @@
 		md = checkfield(md,'fieldname','mesh.elements','NaN',1,'>',0,'values',numpy.arange(1,md.mesh.numberofvertices+1))
 		md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements,3])
-		if numpy.any(numpy.logical_not(ismember(numpy.arange(1,md.mesh.numberofvertices+1),md.mesh.elements))):
+		if numpy.any(numpy.logical_not(m.ismember(numpy.arange(1,md.mesh.numberofvertices+1),md.mesh.elements))):
 			md.checkmessage("orphan nodes have been found. Check the mesh outline")
 		md = checkfield(md,'fieldname','mesh.numberofelements','>',0)
Index: /issm/trunk-jpl/src/m/classes/pairoptions.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/pairoptions.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/pairoptions.py	(revision 17480)
@@ -1,4 +1,4 @@
 from collections import OrderedDict
-from WriteData import *
+from WriteData import WriteData
 
 class pairoptions(object):
Index: /issm/trunk-jpl/src/m/classes/plotoptions.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/plotoptions.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/plotoptions.py	(revision 17480)
@@ -1,4 +1,4 @@
 from collections import OrderedDict, Counter, defaultdict
-from pairoptions import *
+import pairoptions
 
 class plotoptions(object):
Index: /issm/trunk-jpl/src/m/classes/qmu.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmu.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/qmu.py	(revision 17480)
@@ -3,7 +3,7 @@
 from fielddisplay import fielddisplay
 from EnumDefinitions import *
-from checkfield import *
-from WriteData import *
-from MatlabFuncs import *
+from checkfield import checkfield
+from WriteData import WriteData
+import MatlabFuncs as m
 
 class qmu(object):
@@ -56,5 +56,5 @@
 				md.checkmessage("for qmu analysis, partitioning vector cannot go over npart, number of partition areas")
 
-		if not strcmpi(md.cluster.name,'none'):
+		if not m.strcmpi(md.cluster.name,'none'):
 			if not md.settings.waitonlock:
 				md.checkmessage("waitonlock should be activated when running qmu in parallel mode!")
Index: /issm/trunk-jpl/src/m/classes/results.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/results.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/results.py	(revision 17480)
@@ -1,8 +1,7 @@
 import numpy
-from pairoptions import *
-from fielddisplay import *
-from MatlabFuncs import *
+from pairoptions import pairoptions
+from fielddisplay import fielddisplay
+import MatlabFuncs as m
 from EnumDefinitions import *
-from WriteData import *
 
 class results(object):
Index: /issm/trunk-jpl/src/m/classes/stressbalance.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/stressbalance.py	(revision 17480)
@@ -4,7 +4,7 @@
 from fielddisplay import fielddisplay
 from EnumDefinitions import *
-from checkfield import *
-from WriteData import *
-from MatlabFuncs import *
+from checkfield import checkfield
+from WriteData import WriteData
+import MatlabFuncs as m
 
 class stressbalance(object):
@@ -110,9 +110,9 @@
 	def defaultoutputs(self,md): # {{{
 
-		if strcmp(md.mesh.meshtype(),'3D'):
+		if m.strcmp(md.mesh.meshtype(),'3D'):
 			list = ['Vx','Vy','Vz','Vel','Pressure']
-		elif strcmp(md.mesh.meshtype(),'2Dhorizontal'):
+		elif m.strcmp(md.mesh.meshtype(),'2Dhorizontal'):
 			list = ['Vx','Vy','Vel','Pressure']
-		elif strcmp(md.mesh.meshtype(),'2Dvertical'):
+		elif m.strcmp(md.mesh.meshtype(),'2Dvertical'):
 			list = ['Vx','Vy','Vel','Pressure']
 		else:
@@ -129,5 +129,5 @@
 		md = checkfield(md,'fieldname','stressbalance.spcvx','forcing',1)
 		md = checkfield(md,'fieldname','stressbalance.spcvy','forcing',1)
-		if strcmp(md.mesh.meshtype(),'3D'):
+		if m.strcmp(md.mesh.meshtype(),'3D'):
 			md = checkfield(md,'fieldname','stressbalance.spcvz','forcing',1)
 		md = checkfield(md,'fieldname','stressbalance.restol','size',[1],'>',0)
@@ -161,5 +161,5 @@
 					md.checkmessage("Vectors in stressbalance.referential (columns 1 to 3 and 4 to 6) must be orthogonal")
 		#CHECK THAT NO rotation specified for FS Grounded ice at base
-		if strcmp(md.mesh.meshtype(),'3D') and md.flowequation.isFS:
+		if m.strcmp(md.mesh.meshtype(),'3D') and md.flowequation.isFS:
 			pos=numpy.nonzero(numpy.logical_and(md.mask.groundedice_levelset,md.mesh.vertexonbed))
 			if numpy.any(numpy.logical_not(numpy.isnan(md.stressbalance.referential[pos,:]))):
Index: /issm/trunk-jpl/src/m/classes/toolkits.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/toolkits.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/toolkits.py	(revision 17480)
@@ -1,10 +1,9 @@
 from IssmConfig import IssmConfig
-from mumpsoptions import *
-from iluasmoptions import *
+from mumpsoptions import mumpsoptions
+from iluasmoptions import iluasmoptions
 from EnumToString import EnumToString
 from fielddisplay import fielddisplay
 from EnumDefinitions import *
-from checkfield import *
-from MatlabFuncs import *
+from checkfield import checkfield
 
 class toolkits(object):
Index: /issm/trunk-jpl/src/m/classes/verbose.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/verbose.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/classes/verbose.py	(revision 17480)
@@ -1,6 +1,6 @@
-from pairoptions import *
-from MatlabFuncs import *
+from pairoptions import pairoptions
+import MatlabFuncs as m
 from EnumDefinitions import *
-from WriteData import *
+from WriteData import WriteData
 
 class verbose(object):
Index: /issm/trunk-jpl/src/m/consistency/checkfield.py
===================================================================
--- /issm/trunk-jpl/src/m/consistency/checkfield.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/consistency/checkfield.py	(revision 17480)
@@ -1,6 +1,6 @@
 import numpy
 import os
-from pairoptions import *
-from MatlabFuncs import *
+from pairoptions import pairoptions
+import MatlabFuncs as m
 
 def checkfield(md,*args):
@@ -107,5 +107,5 @@
 	if options.exist('values'):
 		fieldvalues=options.getfieldvalue('values')
-		if False in ismember(field,fieldvalues):
+		if False in m.ismember(field,fieldvalues):
 			if   len(fieldvalues)==1:
 				md = md.checkmessage(options.getfieldvalue('message',\
Index: /issm/trunk-jpl/src/m/contrib/bamg/YamsCall.py
===================================================================
--- /issm/trunk-jpl/src/m/contrib/bamg/YamsCall.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/contrib/bamg/YamsCall.py	(revision 17480)
@@ -3,7 +3,6 @@
 import subprocess
 import os
-from ComputeHessian import *
-from ComputeMetric import *
-from MatlabFuncs import *
+from ComputeHessian import ComputeHessian
+from ComputeMetric import ComputeMetric
 
 def YamsCall(md,field,hmin,hmax,gradation,epsilon):
@@ -85,5 +84,5 @@
 	#call yams
 	print "%s\n" % '      call Yams...'
-	if   ispc():
+	if   m.ispc():
 		#windows
 		subprocess.call('yams2-win -O 1 -v -0 -ecp -hgrad %g carre0 carre1' % gradation,shell=True)
Index: /issm/trunk-jpl/src/m/exp/expcoarsen.py
===================================================================
--- /issm/trunk-jpl/src/m/exp/expcoarsen.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/exp/expcoarsen.py	(revision 17480)
@@ -2,5 +2,4 @@
 import numpy as npy
 from collections import OrderedDict
-from MatlabFuncs import *
 from expread import expread
 from expwrite import expwrite
Index: /issm/trunk-jpl/src/m/exp/expread.py
===================================================================
--- /issm/trunk-jpl/src/m/exp/expread.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/exp/expread.py	(revision 17480)
@@ -2,5 +2,5 @@
 import numpy
 from collections import OrderedDict
-from MatlabFuncs import *
+import MatlabFuncs as m
 
 def expread(filename):
@@ -48,5 +48,5 @@
 			break
 		A=A.split(None,1)
-		if not (len(A) == 2 and strcmp(A[0],'##') and strncmp(A[1],'Name:',5)):
+		if not (len(A) == 2 and m.strcmp(A[0],'##') and strncmp(A[1],'Name:',5)):
 			break
 		if len(A[1])>5: 
@@ -57,10 +57,10 @@
 		#Get Icon
 		A=fid.readline().split(None,1)
-		if not (len(A) == 2 and strcmp(A[0],'##') and strncmp(A[1],'Icon:',5)):
+		if not (len(A) == 2 and m.strcmp(A[0],'##') and strncmp(A[1],'Icon:',5)):
 			break
 
 		#Get Info
 		A=fid.readline().split()
-		if not (len(A) == 4 and strcmp(A[0],'#') and strcmp(A[1],'Points')):
+		if not (len(A) == 4 and m.strcmp(A[0],'#') and m.strcmp(A[1],'Points')):
 			break
 
@@ -72,6 +72,6 @@
 		#Get Info
 		A=fid.readline().split()
-		if not (len(A) == 5 and strcmp(A[0],'#') and strcmp(A[1],'X') and strcmp(A[2],'pos') \
-		                                         and strcmp(A[3],'Y') and strcmp(A[4],'pos')):
+		if not (len(A) == 5 and m.strcmp(A[0],'#') and m.strcmp(A[1],'X') and m.strcmp(A[2],'pos') \
+		                                         and m.strcmp(A[3],'Y') and m.strcmp(A[4],'pos')):
 			break
 
Index: /issm/trunk-jpl/src/m/extrusion/project3d.py
===================================================================
--- /issm/trunk-jpl/src/m/extrusion/project3d.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/extrusion/project3d.py	(revision 17480)
@@ -1,5 +1,5 @@
 import numpy
-from pairoptions import *
-from MatlabFuncs import *
+from pairoptions import pairoptions
+import MatlabFuncs as m
 
 def project3d(md,*args):
@@ -27,5 +27,5 @@
 	if not md:
 		raise TypeError("bad usage")
-	if not strcmp(md.mesh.meshtype(),'3D'):
+	if not m.strcmp(md.mesh.meshtype(),'3D'):
 		raise TypeError("input model is not 3d")
 
@@ -45,5 +45,5 @@
 		projected_vector=vector2d
 
-	elif strcmpi(type,'node'):
+	elif m.strcmpi(type,'node'):
 
 		#Initialize 3d vector
@@ -64,5 +64,5 @@
 			projected_vector[((layer-1)*md.mesh.numberofvertices2d):(layer*md.mesh.numberofvertices2d),:]=vector2d
 
-	elif strcmpi(type,'element'):
+	elif m.strcmpi(type,'element'):
 
 		#Initialize 3d vector
Index: /issm/trunk-jpl/src/m/geometry/FlagElements.py
===================================================================
--- /issm/trunk-jpl/src/m/geometry/FlagElements.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/geometry/FlagElements.py	(revision 17480)
@@ -1,8 +1,8 @@
 import numpy
 import os
-#from basinzoom import *
-from ContourToMesh import *
-from MatlabFuncs import *
-from PythonFuncs import *
+#from basinzoom import basinzoon
+from ContourToMesh import ContourToMesh
+import MatlabFuncs as m
+import PythonFuncs as p
 
 def FlagElements(md,region):
@@ -26,10 +26,10 @@
 			flag=numpy.zeros(md.mesh.numberofelements,bool)
 			invert=0
-		elif strcmpi(region,'all'):
+		elif m.strcmpi(region,'all'):
 			flag=numpy.ones(md.mesh.numberofelements,bool)
 			invert=0
 		else:
 			#make sure that we actually don't want the elements outside the domain outline!
-			if strcmpi(region[0],'~'):
+			if m.strcmpi(region[0],'~'):
 				region=region[1:]
 				invert=1
@@ -39,9 +39,9 @@
 			#does the region domain outline exist or do we have to look for xlim,ylim in basinzoom?
 			if not os.path.exists(region):
-				if len(region)>3 and not strcmp(region[-4:],'.exp'):
+				if len(region)>3 and not m.strcmp(region[-4:],'.exp'):
 					raise IOError("Error: File 'region' not found!" % region)
 				raise RuntimeError("FlagElements.py calling basinzoom.py is not complete.")
 				xlim,ylim=basinzoom('basin',region)
-				flag_nodes=logical_and_n(md.mesh.x<xlim[1],md.mesh.x>xlim[0],md.mesh.y<ylim[1],md.mesh.y>ylim[0])
+				flag_nodes=p.logical_and_n(md.mesh.x<xlim[1],md.mesh.x>xlim[0],md.mesh.y<ylim[1],md.mesh.y>ylim[0])
 				flag=numpy.prod(flag_nodes[md.mesh.elements],axis=1).astype(bool)
 			else:
Index: /issm/trunk-jpl/src/m/mesh/ComputeHessian.py
===================================================================
--- /issm/trunk-jpl/src/m/mesh/ComputeHessian.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/mesh/ComputeHessian.py	(revision 17480)
@@ -1,6 +1,6 @@
 import numpy
-from GetNodalFunctionsCoeff import *
-from GetAreas import *
-from MatlabFuncs import *
+from GetNodalFunctionsCoeff import GetNodalFunctionsCoeff
+from GetAreas import GetAreas
+import MatlabFuncs as m
 
 def ComputeHessian(index,x,y,field,type):
@@ -26,5 +26,5 @@
 	if numpy.size(field)!=numberofnodes and numpy.size(field)!=numberofelements:
 		raise TypeError("ComputeHessian error message: the given field size not supported yet")
-	if not strcmpi(type,'node') and not strcmpi(type,'element'):
+	if not m.strcmpi(type,'node') and not m.strcmpi(type,'element'):
 		raise TypeError("ComputeHessian error message: only 'node' or 'element' type supported yet")
 
@@ -57,5 +57,5 @@
 	hessian=numpy.hstack((numpy.sum(gradx[index-1,0]*alpha,axis=1).reshape(-1,1),numpy.sum(grady[index-1,0]*alpha,axis=1).reshape(-1,1),numpy.sum(grady[index-1,0]*beta,axis=1).reshape(-1,1)))
 
-	if strcmpi(type,'node'):
+	if m.strcmpi(type,'node'):
 		#Compute Hessian on the nodes (average of the elements around)
 		hessian=numpy.hstack((sparse(line,numpy.ones((linesize,1)),numpy.tile((areas*hessian[:,0]).reshape(-1,1),(3,1)),numberofnodes,1)/weights, \
Index: /issm/trunk-jpl/src/m/mesh/bamg.py
===================================================================
--- /issm/trunk-jpl/src/m/mesh/bamg.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/mesh/bamg.py	(revision 17480)
@@ -2,13 +2,13 @@
 import numpy
 from collections import OrderedDict
-from pairoptions import *
-from bamggeom import *
-from bamgmesh import *
-from expread import *
-from expwrite import *
-from SegIntersect import *
-from MatlabFuncs import *
-from BamgMesher import *
-from ContourToNodes import *
+from pairoptions import pairoptions
+from bamggeom import bamggeom
+from bamgmesh import bamgmesh
+from expread import expread
+from expwrite import expwrite
+from SegIntersect import SegIntersect
+import MatlabFuncs as m
+from BamgMesher import BamgMesher
+from ContourToNodes import ContourToNodes
 
 def bamg(md,*args):
@@ -374,5 +374,5 @@
 
 			#Skip if the two edges already have a vertex in common
-			if any(ismember(geom.Edges[i,0:2],geom.Edges[j,0:2])):
+			if any(m.ismember(geom.Edges[i,0:2],geom.Edges[j,0:2])):
 				continue
 
@@ -471,5 +471,5 @@
 
 					%update edges
-					posedges=find(ismember(geom.Edges,j));
+					posedges=find(m.ismember(geom.Edges,j));
 					geom.Edges(posedges)=i;
 					posedges=find(geom.Edges>j);
Index: /issm/trunk-jpl/src/m/mesh/rifts/meshprocessoutsiderifts.py
===================================================================
--- /issm/trunk-jpl/src/m/mesh/rifts/meshprocessoutsiderifts.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/mesh/rifts/meshprocessoutsiderifts.py	(revision 17480)
@@ -1,5 +1,5 @@
 import numpy
-from ElementsFromEdge import *
-from MatlabFuncs import *
+from ElementsFromEdge import ElementsFromEdge
+import MatlabFuncs as m
 
 def meshprocessoutsiderifts(md,domainoutline):
@@ -47,10 +47,10 @@
 				edgeelements=ElementsFromEdge(md.mesh.elements,A,B)
 				#rule out those we already detected
-				already_detected=ismember(edgeelements,elements)
+				already_detected=m.ismember(edgeelements,elements)
 				nextelement=edgeelements(numpy.nonzero(numpy.logical_not(already_detected))[0])
 				#add new detected element to the list of elements we are looking for.
 				elements=numpy.concatenate((elements,nextelement))
 				#new B:
-				B=md.mesh.elements[nextelement-1,numpy.nonzero(numpy.logical_not(ismember(md.mesh.elements[nextelement-1,:],numpy.array([A,B]))))]
+				B=md.mesh.elements[nextelement-1,numpy.nonzero(numpy.logical_not(m.ismember(md.mesh.elements[nextelement-1,:],numpy.array([A,B]))))]
 		
 			#take the list of elements on one side of the rift that connect to the tip, 
Index: /issm/trunk-jpl/src/m/mesh/triangle.py
===================================================================
--- /issm/trunk-jpl/src/m/mesh/triangle.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/mesh/triangle.py	(revision 17480)
@@ -1,7 +1,7 @@
 import numpy
-from TriMesh import *
-from NodeConnectivity import *
-from ElementConnectivity import *
-from MatlabFuncs import *
+from TriMesh import TriMesh
+from NodeConnectivity import NodeConnectivity
+from ElementConnectivity import ElementConnectivity
+import MatlabFuncs as m
 
 def triangle(md,domainname,*args):
@@ -36,5 +36,5 @@
 	if md.mesh.numberofelements:
 		choice = raw_input('This model already has a mesh. Are you sure you want to go ahead? (y/n)')
-		if not strcmp(choice,'y'):
+		if not m.strcmp(choice,'y'):
 			print 'no meshing done ... exiting'
 			return None
Index: /issm/trunk-jpl/src/m/miscellaneous/fielddisplay.py
===================================================================
--- /issm/trunk-jpl/src/m/miscellaneous/fielddisplay.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/miscellaneous/fielddisplay.py	(revision 17480)
@@ -2,5 +2,5 @@
 import numpy
 from math import isnan
-from MatlabFuncs import *
+import MatlabFuncs as m
 
 def fielddisplay(md,name,comment):
@@ -101,5 +101,5 @@
 				break
 
-	if strcmp(string,sbeg):
+	if m.strcmp(string,sbeg):
 		string="%s%dx1%s" % (sbeg,len(field),send)
 	else:
@@ -117,5 +117,5 @@
 	
 	#take care of characterization
-	if strcmp(characterization,"''") or strcmp(characterization,'""') or strcmpi(characterization,'nan'):
+	if m.strcmp(characterization,"''") or m.strcmp(characterization,'""') or m.strcmpi(characterization,'nan'):
 		characterization="N/A"
 	
Index: /issm/trunk-jpl/src/m/os/issmdir.py
===================================================================
--- /issm/trunk-jpl/src/m/os/issmdir.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/os/issmdir.py	(revision 17480)
@@ -1,4 +1,4 @@
 import os
-from MatlabFuncs import *
+import MatlabFuncs as m
 
 def issmdir():
@@ -10,9 +10,9 @@
 	"""
 
-	if not ispc():
+	if not m.ispc():
 		ISSM_DIR =os.environ['ISSM_DIR']
 	else:
 		ISSM_DIR =os.environ['ISSM_DIR_WIN']
-		if strcmpi(ISSM_DIR[-1],'/') or strcmpi(ISSM_DIR[-1],'\\'):
+		if m.strcmpi(ISSM_DIR[-1],'/') or m.strcmpi(ISSM_DIR[-1],'\\'):
 			ISSM_DIR = ISSM_DIR[:-1]    #shave off the last '/'
 
Index: /issm/trunk-jpl/src/m/os/issmscpin.py
===================================================================
--- /issm/trunk-jpl/src/m/os/issmscpin.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/os/issmscpin.py	(revision 17480)
@@ -3,5 +3,5 @@
 import os
 import shutil
-from MatlabFuncs import *
+import MatlabFuncs as m
 
 def issmscpin(host, login,port,path, packages):
@@ -24,5 +24,5 @@
 
 	#if hostname and host are the same, do a simple copy
-	if strcmpi(hostname,host):
+	if m.strcmpi(hostname,host):
 
 		for package in packages:
@@ -34,5 +34,5 @@
 	else:
 
-		if ispc():
+		if m.ispc():
 			#use the putty project pscp.exe: it should be in the path.
 		
Index: /issm/trunk-jpl/src/m/os/issmscpout.py
===================================================================
--- /issm/trunk-jpl/src/m/os/issmscpout.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/os/issmscpout.py	(revision 17480)
@@ -2,5 +2,5 @@
 import subprocess
 import os
-from MatlabFuncs import *
+import MatlabFuncs as m
 
 def issmscpout(host,path,login,port,packages):
@@ -16,5 +16,5 @@
 	#if hostname and host are the same, do a simple copy
 
-	if strcmpi(host,hostname):
+	if m.strcmpi(host,hostname):
 		for package in packages:
 			here=os.getcwd()
@@ -27,5 +27,5 @@
 			os.chdir(here)
 	else:
-		if ispc():
+		if m.ispc():
 			#use the putty project pscp.exe: it should be in the path.
 		
Index: /issm/trunk-jpl/src/m/os/issmssh.py
===================================================================
--- /issm/trunk-jpl/src/m/os/issmssh.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/os/issmssh.py	(revision 17480)
@@ -2,5 +2,5 @@
 import subprocess
 import os
-from MatlabFuncs import *
+import MatlabFuncs as m
 
 def issmssh(host,login,port,command):
@@ -16,8 +16,8 @@
 
 	#if same as host, just run the command. 
-	if strcmpi(host,hostname):
+	if m.strcmpi(host,hostname):
 		subprocess.call(command,shell=True)
 	else:
-		if ispc():
+		if m.ispc():
 			#use the putty project plink.exe: it should be in the path.
 		
Index: /issm/trunk-jpl/src/m/parameterization/setflowequation.py
===================================================================
--- /issm/trunk-jpl/src/m/parameterization/setflowequation.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/parameterization/setflowequation.py	(revision 17480)
@@ -1,8 +1,8 @@
 import numpy
 from model import *
-from pairoptions import *
-from MatlabFuncs import *
-from PythonFuncs import *
-from FlagElements import *
+from pairoptions import pairoptions
+import MatlabFuncs as m
+import PythonFuncs as p
+from FlagElements import FlagElements
 
 def setflowequation(md,*args):
@@ -37,5 +37,5 @@
 	#Find_out what kind of coupling to use
 	coupling_method=options.getfieldvalue('coupling','tiling')
-	if not strcmpi(coupling_method,'tiling') and not strcmpi(coupling_method,'penalties'):
+	if not m.strcmpi(coupling_method,'tiling') and not m.strcmpi(coupling_method,'penalties'):
 		raise TypeError("coupling type can only be: tiling or penalties")
 
@@ -49,9 +49,9 @@
 
 	#Flag the elements that have not been flagged as filltype
-	if   strcmpi(filltype,'SIA'):
+	if   m.strcmpi(filltype,'SIA'):
 		SIAflag[numpy.nonzero(numpy.logical_not(logical_or_n(SSAflag,HOflag)))]=True
-	elif strcmpi(filltype,'SSA'):
+	elif m.strcmpi(filltype,'SSA'):
 		SSAflag[numpy.nonzero(numpy.logical_not(logical_or_n(SIAflag,HOflag,FSflag)))]=True
-	elif strcmpi(filltype,'HO'):
+	elif m.strcmpi(filltype,'HO'):
 		HOflag[numpy.nonzero(numpy.logical_not(logical_or_n(SIAflag,SSAflag,FSflag)))]=True
 
@@ -114,5 +114,5 @@
 	SSAFSflag=numpy.zeros(md.mesh.numberofelements,bool)
 	HOFSflag=numpy.zeros(md.mesh.numberofelements,bool)
-	if   strcmpi(coupling_method,'penalties'):
+	if   m.strcmpi(coupling_method,'penalties'):
 		#Create the border nodes between HO and SSA and extrude them
 		numnodes2d=md.mesh.numberofvertices2d
@@ -127,10 +127,10 @@
 			md.stressbalance.vertex_pairing=penalties
 
-	elif strcmpi(coupling_method,'tiling'):
+	elif m.strcmpi(coupling_method,'tiling'):
 		if   any(SSAflag) and any(HOflag):    #coupling SSA HO
 			#Find node at the border
 			nodeonSSAHO[numpy.nonzero(numpy.logical_and(nodeonSSA,nodeonHO))]=True
 			#SSA elements in contact with this layer become SSAHO elements
-			matrixelements=ismember(md.mesh.elements-1,numpy.nonzero(nodeonSSAHO)[0])
+			matrixelements=m.ismember(md.mesh.elements-1,numpy.nonzero(nodeonSSAHO)[0])
 			commonelements=numpy.sum(matrixelements,axis=1)!=0
 			commonelements[numpy.nonzero(HOflag)]=False    #only one layer: the elements previously in SSA
@@ -164,5 +164,5 @@
 			nodeonHOFS[numpy.nonzero(numpy.logical_and(nodeonHO,nodeonFS))]=True
 			#FS elements in contact with this layer become HOFS elements
-			matrixelements=ismember(md.mesh.elements-1,numpy.nonzero(nodeonHOFS)[0])
+			matrixelements=m.ismember(md.mesh.elements-1,numpy.nonzero(nodeonHOFS)[0])
 			commonelements=numpy.sum(matrixelements,axis=1)!=0
 			commonelements[numpy.nonzero(HOflag)]=False    #only one layer: the elements previously in SSA
@@ -196,5 +196,5 @@
 			nodeonSSAFS[numpy.nonzero(numpy.logical_and(nodeonSSA,nodeonFS))]=True
 			#FS elements in contact with this layer become SSAFS elements
-			matrixelements=ismember(md.mesh.elements-1,numpy.nonzero(nodeonSSAFS)[0])
+			matrixelements=m.ismember(md.mesh.elements-1,numpy.nonzero(nodeonSSAFS)[0])
 			commonelements=numpy.sum(matrixelements,axis=1)!=0
 			commonelements[numpy.nonzero(SSAflag)]=False    #only one layer: the elements previously in SSA
Index: /issm/trunk-jpl/src/m/solve/WriteData.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/WriteData.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/solve/WriteData.py	(revision 17480)
@@ -2,6 +2,6 @@
 import math
 import struct
-from pairoptions import *
-from MatlabFuncs import *
+import pairoptions
+import MatlabFuncs as m
 from EnumDefinitions import *
 from EnumToString import EnumToString
@@ -16,7 +16,5 @@
 
 	#process options
-	#  the import above the function level doesn't work?
-	from pairoptions import pairoptions
-	options=pairoptions(*args)
+	options=pairoptions.pairoptions(*args)
 
 	#Get data properties
@@ -62,5 +60,5 @@
 
 	#Step 2: write the data itself.
-	if   strcmpi(format,'Boolean'):    # {{{
+	if   m.strcmpi(format,'Boolean'):    # {{{
 #		if len(data) !=1:
 #			raise ValueError('field %s cannot be marshalled as it has more than one element!' % EnumToString(enum)[0])
@@ -76,5 +74,5 @@
 		# }}}
 
-	elif strcmpi(format,'Integer'):    # {{{
+	elif m.strcmpi(format,'Integer'):    # {{{
 #		if len(data) !=1:
 #			raise ValueError('field %s cannot be marshalled as it has more than one element!' % EnumToString(enum)[0])
@@ -90,5 +88,5 @@
 		# }}}
 
-	elif strcmpi(format,'Double'):    # {{{
+	elif m.strcmpi(format,'Double'):    # {{{
 #		if len(data) !=1:
 #			raise ValueError('field %s cannot be marshalled as it has more than one element!' % EnumToString(enum)[0])
@@ -104,5 +102,5 @@
 		# }}}
 
-	elif strcmpi(format,'String'):    # {{{
+	elif m.strcmpi(format,'String'):    # {{{
 		#first write length of record
 		fid.write(struct.pack('i',len(data)+4+4))  #string + string size + code
@@ -116,5 +114,5 @@
 		# }}}
 
-	elif strcmpi(format,'BooleanMat'):    # {{{
+	elif m.strcmpi(format,'BooleanMat'):    # {{{
 
 		if   isinstance(data,bool):
@@ -149,5 +147,5 @@
 		# }}}
 
-	elif strcmpi(format,'IntMat'):    # {{{
+	elif m.strcmpi(format,'IntMat'):    # {{{
 
 		if   isinstance(data,(int,long)):
@@ -182,5 +180,5 @@
 		# }}}
 
-	elif strcmpi(format,'DoubleMat'):    # {{{
+	elif m.strcmpi(format,'DoubleMat'):    # {{{
 
 		if   isinstance(data,(bool,int,long,float)):
@@ -219,5 +217,5 @@
 		# }}}
 
-	elif strcmpi(format,'MatArray'):    # {{{
+	elif m.strcmpi(format,'MatArray'):    # {{{
 
 		#first get length of record
@@ -263,5 +261,5 @@
 		# }}}
 
-	elif strcmpi(format,'StringArray'):    # {{{
+	elif m.strcmpi(format,'StringArray'):    # {{{
 
 		#first get length of record
@@ -319,21 +317,21 @@
 	"""
 
-	if   strcmpi(format,'Boolean'):
+	if   m.strcmpi(format,'Boolean'):
 		code=1
-	elif strcmpi(format,'Integer'):
+	elif m.strcmpi(format,'Integer'):
 		code=2
-	elif strcmpi(format,'Double'):
+	elif m.strcmpi(format,'Double'):
 		code=3
-	elif strcmpi(format,'String'):
+	elif m.strcmpi(format,'String'):
 		code=4
-	elif strcmpi(format,'BooleanMat'):
+	elif m.strcmpi(format,'BooleanMat'):
 		code=5
-	elif strcmpi(format,'IntMat'):
+	elif m.strcmpi(format,'IntMat'):
 		code=6
-	elif strcmpi(format,'DoubleMat'):
+	elif m.strcmpi(format,'DoubleMat'):
 		code=7
-	elif strcmpi(format,'MatArray'):
+	elif m.strcmpi(format,'MatArray'):
 		code=8
-	elif strcmpi(format,'StringArray'):
+	elif m.strcmpi(format,'StringArray'):
 		code=9
 	else:
Index: /issm/trunk-jpl/src/m/solve/loadresultsfromcluster.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/loadresultsfromcluster.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/solve/loadresultsfromcluster.py	(revision 17480)
@@ -1,6 +1,6 @@
 import os
 import socket
-from MatlabFuncs import *
-from loadresultsfromdisk import *
+import MatlabFuncs as m
+from loadresultsfromdisk import loadresultsfromdisk
 
 def loadresultsfromcluster(md,runtimename=False):
@@ -41,10 +41,10 @@
 		os.remove(md.miscellaneous.name+'.errlog')
 		os.remove(md.miscellaneous.name+'.outbin')
-		if not ispc():
+		if not m.ispc():
 			os.remove(md.private.runtimename+'.tar.gz')
 
 	#erase input file if run was carried out on same platform.
 	hostname=socket.gethostname()
-	if strcmpi(hostname,cluster.name):
+	if m.strcmpi(hostname,cluster.name):
 		if md.qmu.isdakota:
 			os.remove(os.path.join('qmu'+str(os.getpid()),md.miscellaneous.name+'.bin'))
@@ -53,5 +53,5 @@
 			os.remove(md.miscellaneous.name+'.bin')
 			os.remove(md.miscellaneous.name+'.toolkits')
-			if not ispc():
+			if not m.ispc():
 				os.remove(md.miscellaneous.name+'.queue')
 			else:
Index: /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/solve/loadresultsfromdisk.py	(revision 17480)
@@ -1,7 +1,7 @@
 import os
-from results import *
-from parseresultsfromdisk import *
+from results import results
+from parseresultsfromdisk import parseresultsfromdisk
 from EnumToString import EnumToString
-from MatlabFuncs import *
+import MatlabFuncs as m
 
 def loadresultsfromdisk(md,filename):
@@ -53,5 +53,5 @@
 
 		#if only one solution, extract it from list for user friendliness
-		if len(structure) == 1 and not strcmp(structure[0].SolutionType,'TransientSolution'):
+		if len(structure) == 1 and not m.strcmp(structure[0].SolutionType,'TransientSolution'):
 			setattr(md.results,structure[0].SolutionType,structure[0])
 
Index: /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/solve/parseresultsfromdisk.py	(revision 17480)
@@ -3,5 +3,5 @@
 from collections import OrderedDict
 import results as resultsclass
-from MatlabFuncs import *
+import MatlabFuncs as m
 
 def parseresultsfromdisk(filename,iosplit):
@@ -50,5 +50,5 @@
 	
 		#Add result
-		if hasattr(results[result['step']-1],result['fieldname']) and not strcmp(result['fieldname'],'SolutionType'):
+		if hasattr(results[result['step']-1],result['fieldname']) and not m.strcmp(result['fieldname'],'SolutionType'):
 			setattr(results[result['step']-1],result['fieldname'],numpy.vstack((getattr(results[result['step']-1],result['fieldname']),result['field'])))
 		else:
@@ -162,25 +162,25 @@
 		#Process units here FIXME: this should not be done here!
 		yts=365.0*24.0*3600.0
-		if strcmp(fieldname,'BalancethicknessThickeningRate'):
-			field = field*yts
-		elif strcmp(fieldname,'Time'):
+		if m.strcmp(fieldname,'BalancethicknessThickeningRate'):
+			field = field*yts
+		elif m.strcmp(fieldname,'Time'):
 			field = field/yts
-		elif strcmp(fieldname,'HydrologyWaterVx'):
-			field = field*yts
-		elif strcmp(fieldname,'HydrologyWaterVy'):
-			field = field*yts
-		elif strcmp(fieldname,'Vx'):
-			field = field*yts
-		elif strcmp(fieldname,'Vy'):
-			field = field*yts
-		elif strcmp(fieldname,'Vz'):
-			field = field*yts
-		elif strcmp(fieldname,'Vel'):
-			field = field*yts
-		elif strcmp(fieldname,'BasalforcingsMeltingRate'):
-			field = field*yts
-		elif strcmp(fieldname,'TotalSmb'):
+		elif m.strcmp(fieldname,'HydrologyWaterVx'):
+			field = field*yts
+		elif m.strcmp(fieldname,'HydrologyWaterVy'):
+			field = field*yts
+		elif m.strcmp(fieldname,'Vx'):
+			field = field*yts
+		elif m.strcmp(fieldname,'Vy'):
+			field = field*yts
+		elif m.strcmp(fieldname,'Vz'):
+			field = field*yts
+		elif m.strcmp(fieldname,'Vel'):
+			field = field*yts
+		elif m.strcmp(fieldname,'BasalforcingsMeltingRate'):
+			field = field*yts
+		elif m.strcmp(fieldname,'TotalSmb'):
 			field = field/10.**12.*yts #(GigaTon/year)
-		elif strcmp(fieldname,'SurfaceforcingsMassBalance'):
+		elif m.strcmp(fieldname,'SurfaceforcingsMassBalance'):
 			field = field*yts
 
Index: /issm/trunk-jpl/src/m/solve/solve.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/solve.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/solve/solve.py	(revision 17480)
@@ -2,12 +2,13 @@
 import os
 import shutil
-from pairoptions import *
-from process_solve_options import *
+from pairoptions import pairoptions
+from process_solve_options import process_solve_options
 from EnumDefinitions import *
 from EnumToString import EnumToString
-from ismodelselfconsistent import *
-from marshall import *
-from waitonlock import *
-from loadresultsfromcluster import *
+from ismodelselfconsistent import ismodelselfconsistent
+from marshall import marshall
+from waitonlock import waitonlock
+from loadresultsfromcluster import loadresultsfromcluster
+import MatlabFuncs as m
 
 def solve(md,solutionenum,*args):
@@ -83,5 +84,5 @@
 
 	#Stop here if batch mode
-	if strcmpi(options['batch'],'yes'):
+	if m.strcmpi(options['batch'],'yes'):
 		print 'batch mode requested: not launching job interactively'
 		print 'launch solution sequence on remote cluster by hand'
@@ -96,5 +97,5 @@
 
 	#did we even try to run? if so, wait on lock
-	if strcmpi(options['upload'],'on'):
+	if m.strcmpi(options['upload'],'on'):
 		print 'solve done uploading test decks'
 		return md
Index: /issm/trunk-jpl/src/m/solve/waitonlock.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/waitonlock.py	(revision 17479)
+++ /issm/trunk-jpl/src/m/solve/waitonlock.py	(revision 17480)
@@ -2,5 +2,5 @@
 import socket
 import time
-from MatlabFuncs import *
+import MatlabFuncs as m
 
 def waitonlock(md):
@@ -24,9 +24,9 @@
 
 	#waitonlock will work if the lock is on the same machine only: 
-	if not strcmpi(socket.gethostname(),cluster):
+	if not m.strcmpi(socket.gethostname(),cluster):
 
 		print 'solution launched on remote cluster. log in to detect job completion.'
 		choice=raw_input('Is the job successfully completed? (y/n) ')
-		if not strcmp(choice,'y'): 
+		if not m.strcmp(choice,'y'): 
 			print 'Results not loaded... exiting' 
 			flag=0
