Index: /issm/trunk-jpl/src/m/classes/mask.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.m	(revision 24895)
+++ /issm/trunk-jpl/src/m/classes/mask.m	(revision 24896)
@@ -21,21 +21,28 @@
 			%2020 May 15th
 			if isstruct(self)
-            selfnew = mask();
-            if isfield(self,'ice_levelset')
-               selfnew.ice_levelset = self.ice_levelset;
-            end
-            if isfield(self,'ocean_levelset')
-               selfnew.ocean_levelset = self.ocean_levelset;
-            end
-            if isfield(self,'groundedice_levelset')
-               disp('WARNING: automatically updated md.mask as groundedice_levelset is now ocean_levelset');
-               selfnew.ocean_levelset = self.groundedice_levelset;
-            end
-            self = selfnew;
+				selfnew = mask();
+				if isfield(self,'ice_levelset')
+					selfnew.ice_levelset = self.ice_levelset;
+				end
+				if isfield(self,'ocean_levelset')
+					selfnew.ocean_levelset = self.ocean_levelset;
+				end
+				if isfield(self,'groundedice_levelset')
+					disp('WARNING: automatically updated md.mask as groundedice_levelset is now ocean_levelset');
+					selfnew.ocean_levelset = self.groundedice_levelset;
+				end
+				self = selfnew;
 			end
-
-		end% }}}
+		end % }}}
 	end
 	methods
+		function disp(self) % {{{
+			disp(sprintf('   masks:'));
+
+			fielddisplay(self,'ocean_levelset','presence of ocean if < 0, coastline/grounding line if = 0, no ocean if > 0');
+			fielddisplay(self,'ice_levelset','presence of ice if < 0, icefront position if = 0, no ice if > 0');
+		end % }}}
+		function self = setdefaultparameters(self) % {{{
+		end % }}}
 		function self = extrude(self,md) % {{{
 			self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node');
@@ -50,7 +57,4 @@
 			end
 		end % }}}
-		function self = setdefaultparameters(self) % {{{
-
-		end % }}}
 		function self = oceanset(self,varargin) % {{{
 			if nargin==2,
@@ -63,5 +67,4 @@
 			else error('oceanset error message: not supported yet');
 			end
-
 		end % }}}
 		function self = iceset(self,varargin) % {{{
@@ -77,5 +80,5 @@
 
 		end % }}}
-	function md = checkconsistency(self,md,solution,analyses) % {{{
+		function md = checkconsistency(self,md,solution,analyses) % {{{
 			if strcmpi(solution,'LoveSolution'), return; end;
 
@@ -86,10 +89,4 @@
 				warning('no ice present in the domain');
 			end
-		end % }}}
-		function disp(self) % {{{
-			disp(sprintf('   masks:'));
-
-			fielddisplay(self,'ocean_levelset','presence of ocean if < 0, coastline/grounding line if = 0, no ocean if > 0');
-			fielddisplay(self,'ice_levelset','presence of ice if < 0, icefront position if = 0, no ice if > 0');
 		end % }}}
 		function marshall(self,prefix,md,fid) % {{{
Index: /issm/trunk-jpl/src/m/classes/mask.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mask.py	(revision 24895)
+++ /issm/trunk-jpl/src/m/classes/mask.py	(revision 24896)
@@ -1,26 +1,25 @@
 import numpy as np
+
+from checkfield import checkfield
 from fielddisplay import fielddisplay
 from project3d import project3d
-from checkfield import checkfield
 from WriteData import WriteData
 
 
 class mask(object):
-    """
+    '''
     MASK class definition
 
-       Usage:
-          mask = mask()
-    """
-
-    def __init__(self):  # {{{
+        Usage:
+            mask = mask()
+    '''
+    def __init__(self): # {{{
         self.ice_levelset = float('NaN')
         self.ocean_levelset = float('NaN')
 
-    #set defaults
+        #set defaults
         self.setdefaultparameters()
-
-    #}}}
-    def __repr__(self):  # {{{
+    # }}}
+    def __repr__(self): # {{{
         string = "   masks:"
 
@@ -28,15 +27,51 @@
         string = "%s\n%s" % (string, fielddisplay(self, "ice_levelset", "presence of ice if < 0, icefront position if = 0, no ice if > 0"))
         return string
-    #}}}
-    def extrude(self, md):  # {{{
-        self.ice_levelset = project3d(md, 'vector', self.ice_levelset, 'type', 'node')
+    # }}}
+    def setdefaultparameters(self): # {{{
+        return self
+    # }}}
+    def extrude(self, md): # {{{
+        self.ice_levelset   = project3d(md, 'vector', self.ice_levelset, 'type', 'node')
         self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node')
+
         return self
-    #}}}
-    def setdefaultparameters(self):  # {{{
+    # }}}
+    def mask(self, *args): # {{{
+        nargin = len(args)
+        if nargin == 0:
+            self.setdefaultparameters()
+        else:
+            raise RuntimeError("constructor not supported")
+
         return self
-    #}}}
-    def checkconsistency(self, md, solution, analyses):  # {{{
-        if(solution == 'LoveSolution'):
+    # }}}
+    def oceanset(self, *args): # {{{
+        if nargin == 2:
+            ocean = args[0]
+            index = args[1]
+            self.ocean_levelset[index] = -ocean
+        else:
+            ocean = args[0]
+            self.ocean_levelset = -ocean
+        else:
+            raise RuntimeError("oceanset error message: not supported yet")
+
+        return self
+    # }}}
+    def iceset(self, *args): # {{{
+        if nargin == 2:
+            ice = args[0]
+            index = args[1]
+            self.ice_levelset[index] = -ice
+        else:
+            ice = *args[0]
+            self.ocean_levelset = -ocean
+        else:
+            raise RuntimeError("iceset error message: not supported yet")
+
+        return self
+    # }}}
+    def checkconsistency(self, md, solution, analyses): # {{{
+        if solution == 'LoveSolution':
             return
 
@@ -48,5 +83,5 @@
         return md
     # }}}
-    def marshall(self, prefix, md, fid):  # {{{
+    def marshall(self, prefix, md, fid): # {{{
         WriteData(fid, prefix, 'object', self, 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1)
         WriteData(fid, prefix, 'object', self, 'fieldname', 'ice_levelset', 'format', 'DoubleMat', 'mattype', 1)
Index: /issm/trunk-jpl/src/m/classes/mesh3dsurface.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/mesh3dsurface.py	(revision 24895)
+++ /issm/trunk-jpl/src/m/classes/mesh3dsurface.py	(revision 24896)
@@ -224,5 +224,5 @@
                 #first line:
                 contour                 = OrderedStruct()
-                contour.x               = [self.long[el[0], self.long[el[1]]]
+                contour.x               = [self.long[el[0]], self.long[el[1]]]
                 contour.y               = [self.lat[el[0]], self.lat[el[1]]]
                 contour.Geometry        = 'Line' 
@@ -238,5 +238,5 @@
                 #second line:
                 contour                 = OrderedStruct()
-                contour.x               = [self.long[el[2], self.long[el[0]]]
+                contour.x               = [self.long[el[2]], self.long[el[0]]]
                 contour.y               = [self.lat[el[2]], self.lat[el[0]]]
                 contour.Geometry        = 'Line'
