Index: /issm/trunk-jpl/src/m/mesh/roundmesh.m
===================================================================
--- /issm/trunk-jpl/src/m/mesh/roundmesh.m	(revision 13807)
+++ /issm/trunk-jpl/src/m/mesh/roundmesh.m	(revision 13808)
@@ -17,6 +17,6 @@
 x_list=ones(pointsonedge,1); y_list=ones(pointsonedge,1);
 theta=(0.:2.*pi/pointsonedge:2.*pi*(1.-1./pointsonedge))';
-x_list=radius*x_list.*cos(theta);
-y_list=radius*y_list.*sin(theta);
+x_list=roundsigfig(radius*x_list.*cos(theta),12);
+y_list=roundsigfig(radius*y_list.*sin(theta),12);
 A=struct('x',x_list,'y',y_list,'density',1.);
 expwrite(A,'RoundDomainOutline.exp');
@@ -33,2 +33,16 @@
 %delete domain
 delete('RoundDomainOutline.exp')
+end
+
+function x=roundsigfig(x,n)
+
+digits=ceil(log10(abs(x)));
+x=x./10.^digits;
+x=round(x.*10.^n)./10.^n;
+x=x.*10.^digits;
+
+pos=find(isnan(x));
+x(pos)=0.;
+
+end
+
Index: /issm/trunk-jpl/src/m/mesh/roundmesh.py
===================================================================
--- /issm/trunk-jpl/src/m/mesh/roundmesh.py	(revision 13807)
+++ /issm/trunk-jpl/src/m/mesh/roundmesh.py	(revision 13808)
@@ -27,6 +27,6 @@
 	y_list=numpy.ones(pointsonedge)
 	theta=numpy.linspace(0.,2.*numpy.pi,num=pointsonedge,endpoint=False)
-	x_list=radius*x_list*numpy.cos(theta)
-	y_list=radius*y_list*numpy.sin(theta)
+	x_list=roundsigfig(radius*x_list*numpy.cos(theta),12)
+	y_list=roundsigfig(radius*y_list*numpy.sin(theta),12)
 	A=OrderedDict()
 	A['x']=x_list
@@ -49,2 +49,14 @@
 	return md
 
+def roundsigfig(x,n):
+
+	digits=numpy.ceil(numpy.log10(numpy.abs(x)))
+	x=x/10.**digits
+	x=numpy.round(x,decimals=n)
+	x=x*10.**digits
+
+	pos=numpy.nonzero(numpy.isnan(x))
+	x[pos]=0.
+
+	return x
+
