Index: /issm/trunk/src/m/classes/mask.m
===================================================================
--- /issm/trunk/src/m/classes/mask.m	(revision 9643)
+++ /issm/trunk/src/m/classes/mask.m	(revision 9643)
@@ -0,0 +1,51 @@
+%MASK class definition
+%
+%   Usage:
+%      mask=mask();
+
+classdef mask
+	properties (SetAccess=public) 
+		elementonfloatingice = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',2);
+		elementongroundedice = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',2);
+		elementonwater       = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',2);
+		vertexonfloatingice  = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
+		vertexongroundedice  = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
+		vertexonwater        = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
+	end
+	methods
+		function obj = mask(varargin) % {{{
+			switch nargin
+				case 0
+					obj=setdefaultparameters(obj);
+				case 1
+					in=varargin{1};
+					if (isa(in,'numeric') & in==0),
+						% requesting templates do nothing
+					else
+						error('constructor not supported');
+					end 
+				otherwise
+					error('constructor not supported');
+			end
+		end % }}}
+		function obj = setdefaultparameters(obj) % {{{
+
+			%first, use the defaults provided by the properties definition above. 
+			fieldnames=fields(obj);
+			for i=1:length(fieldnames),
+				fieldname=fieldnames{i};
+				obj.(fieldname)=obj.(fieldname).default;
+			end
+
+		end % }}}
+		function disp(obj) % {{{
+
+			fielddisplay(md,'elementonfloatingice','element on floating ice flags list');
+			fielddisplay(md,'vertexonfloatingice','vertex on floating ice flags list');
+			fielddisplay(md,'elementongroundedice','element on grounded ice  list');
+			fielddisplay(md,'vertexongroundedice','vertex on grounded ice flags list');
+			fielddisplay(md,'elementonwater','element on water flags list');
+			fielddisplay(md,'vertexonwater','vertex on water flags list');
+		end % }}}
+	end
+end
Index: sm/trunk/src/m/enum/ElementOnBedEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementOnBedEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ElementOnBedEnum()
-%ELEMENTONBEDENUM - Enum of ElementOnBed
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=ElementOnBedEnum()
-
-macro=StringToEnum('ElementOnBed');
Index: sm/trunk/src/m/enum/ElementOnIceSheetEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementOnIceSheetEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ElementOnIceSheetEnum()
-%ELEMENTONICESHEETENUM - Enum of ElementOnIceSheet
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=ElementOnIceSheetEnum()
-
-macro=StringToEnum('ElementOnIceSheet');
Index: sm/trunk/src/m/enum/ElementOnIceShelfEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementOnIceShelfEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ElementOnIceShelfEnum()
-%ELEMENTONICESHELFENUM - Enum of ElementOnIceShelf
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=ElementOnIceShelfEnum()
-
-macro=StringToEnum('ElementOnIceShelf');
Index: sm/trunk/src/m/enum/ElementOnSurfaceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementOnSurfaceEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ElementOnSurfaceEnum()
-%ELEMENTONSURFACEENUM - Enum of ElementOnSurface
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=ElementOnSurfaceEnum()
-
-macro=StringToEnum('ElementOnSurface');
Index: sm/trunk/src/m/enum/ElementOnWaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementOnWaterEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ElementOnWaterEnum()
-%ELEMENTONWATERENUM - Enum of ElementOnWater
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=ElementOnWaterEnum()
-
-macro=StringToEnum('ElementOnWater');
Index: /issm/trunk/src/m/enum/ElementonbedEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementonbedEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/ElementonbedEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=ElementonbedEnum()
+%ELEMENTONBEDENUM - Enum of Elementonbed
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=ElementonbedEnum()
+
+macro=StringToEnum('Elementonbed');
Index: /issm/trunk/src/m/enum/ElementonsurfaceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementonsurfaceEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/ElementonsurfaceEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=ElementonsurfaceEnum()
+%ELEMENTONSURFACEENUM - Enum of Elementonsurface
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=ElementonsurfaceEnum()
+
+macro=StringToEnum('Elementonsurface');
Index: /issm/trunk/src/m/enum/MaskElementonfloatingiceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaskElementonfloatingiceEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/MaskElementonfloatingiceEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=MaskElementonfloatingiceEnum()
+%MASKELEMENTONFLOATINGICEENUM - Enum of MaskElementonfloatingice
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=MaskElementonfloatingiceEnum()
+
+macro=StringToEnum('MaskElementonfloatingice');
Index: /issm/trunk/src/m/enum/MaskElementongroundediceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaskElementongroundediceEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/MaskElementongroundediceEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=MaskElementongroundediceEnum()
+%MASKELEMENTONGROUNDEDICEENUM - Enum of MaskElementongroundedice
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=MaskElementongroundediceEnum()
+
+macro=StringToEnum('MaskElementongroundedice');
Index: /issm/trunk/src/m/enum/MaskElementonwaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaskElementonwaterEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/MaskElementonwaterEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=MaskElementonwaterEnum()
+%MASKELEMENTONWATERENUM - Enum of MaskElementonwater
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=MaskElementonwaterEnum()
+
+macro=StringToEnum('MaskElementonwater');
Index: /issm/trunk/src/m/enum/MaskVertexonfloatingiceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaskVertexonfloatingiceEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/MaskVertexonfloatingiceEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=MaskVertexonfloatingiceEnum()
+%MASKVERTEXONFLOATINGICEENUM - Enum of MaskVertexonfloatingice
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=MaskVertexonfloatingiceEnum()
+
+macro=StringToEnum('MaskVertexonfloatingice');
Index: /issm/trunk/src/m/enum/MaskVertexongroundediceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaskVertexongroundediceEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/MaskVertexongroundediceEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=MaskVertexongroundediceEnum()
+%MASKVERTEXONGROUNDEDICEENUM - Enum of MaskVertexongroundedice
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=MaskVertexongroundediceEnum()
+
+macro=StringToEnum('MaskVertexongroundedice');
Index: /issm/trunk/src/m/enum/MaskVertexonwaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaskVertexonwaterEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/MaskVertexonwaterEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=MaskVertexonwaterEnum()
+%MASKVERTEXONWATERENUM - Enum of MaskVertexonwater
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=MaskVertexonwaterEnum()
+
+macro=StringToEnum('MaskVertexonwater');
Index: sm/trunk/src/m/enum/NodeOnBedEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnBedEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=NodeOnBedEnum()
-%NODEONBEDENUM - Enum of NodeOnBed
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=NodeOnBedEnum()
-
-macro=StringToEnum('NodeOnBed');
Index: sm/trunk/src/m/enum/NodeOnHutterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnHutterEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=NodeOnHutterEnum()
-%NODEONHUTTERENUM - Enum of NodeOnHutter
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=NodeOnHutterEnum()
-
-macro=StringToEnum('NodeOnHutter');
Index: sm/trunk/src/m/enum/NodeOnIceSheetEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnIceSheetEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=NodeOnIceSheetEnum()
-%NODEONICESHEETENUM - Enum of NodeOnIceSheet
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=NodeOnIceSheetEnum()
-
-macro=StringToEnum('NodeOnIceSheet');
Index: sm/trunk/src/m/enum/NodeOnIceShelfEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnIceShelfEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=NodeOnIceShelfEnum()
-%NODEONICESHELFENUM - Enum of NodeOnIceShelf
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=NodeOnIceShelfEnum()
-
-macro=StringToEnum('NodeOnIceShelf');
Index: sm/trunk/src/m/enum/NodeOnMacayealEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnMacayealEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=NodeOnMacayealEnum()
-%NODEONMACAYEALENUM - Enum of NodeOnMacayeal
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=NodeOnMacayealEnum()
-
-macro=StringToEnum('NodeOnMacayeal');
Index: sm/trunk/src/m/enum/NodeOnPattynEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnPattynEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=NodeOnPattynEnum()
-%NODEONPATTYNENUM - Enum of NodeOnPattyn
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=NodeOnPattynEnum()
-
-macro=StringToEnum('NodeOnPattyn');
Index: sm/trunk/src/m/enum/NodeOnStokesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnStokesEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=NodeOnStokesEnum()
-%NODEONSTOKESENUM - Enum of NodeOnStokes
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=NodeOnStokesEnum()
-
-macro=StringToEnum('NodeOnStokes');
Index: sm/trunk/src/m/enum/NodeOnSurfaceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnSurfaceEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=NodeOnSurfaceEnum()
-%NODEONSURFACEENUM - Enum of NodeOnSurface
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=NodeOnSurfaceEnum()
-
-macro=StringToEnum('NodeOnSurface');
Index: sm/trunk/src/m/enum/NodeOnWaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnWaterEnum.m	(revision 9642)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=NodeOnWaterEnum()
-%NODEONWATERENUM - Enum of NodeOnWater
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=NodeOnWaterEnum()
-
-macro=StringToEnum('NodeOnWater');
Index: /issm/trunk/src/m/enum/NodeonbedEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeonbedEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/NodeonbedEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=NodeonbedEnum()
+%NODEONBEDENUM - Enum of Nodeonbed
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=NodeonbedEnum()
+
+macro=StringToEnum('Nodeonbed');
Index: /issm/trunk/src/m/enum/NodeonhutterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeonhutterEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/NodeonhutterEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=NodeonhutterEnum()
+%NODEONHUTTERENUM - Enum of Nodeonhutter
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=NodeonhutterEnum()
+
+macro=StringToEnum('Nodeonhutter');
Index: /issm/trunk/src/m/enum/NodeonmacayealEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeonmacayealEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/NodeonmacayealEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=NodeonmacayealEnum()
+%NODEONMACAYEALENUM - Enum of Nodeonmacayeal
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=NodeonmacayealEnum()
+
+macro=StringToEnum('Nodeonmacayeal');
Index: /issm/trunk/src/m/enum/NodeonpattynEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeonpattynEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/NodeonpattynEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=NodeonpattynEnum()
+%NODEONPATTYNENUM - Enum of Nodeonpattyn
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=NodeonpattynEnum()
+
+macro=StringToEnum('Nodeonpattyn');
Index: /issm/trunk/src/m/enum/NodeonstokesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeonstokesEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/NodeonstokesEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=NodeonstokesEnum()
+%NODEONSTOKESENUM - Enum of Nodeonstokes
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=NodeonstokesEnum()
+
+macro=StringToEnum('Nodeonstokes');
Index: /issm/trunk/src/m/enum/NodeonsurfaceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeonsurfaceEnum.m	(revision 9643)
+++ /issm/trunk/src/m/enum/NodeonsurfaceEnum.m	(revision 9643)
@@ -0,0 +1,11 @@
+function macro=NodeonsurfaceEnum()
+%NODEONSURFACEENUM - Enum of Nodeonsurface
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+%            Please read src/c/EnumDefinitions/README for more information
+%
+%   Usage:
+%      macro=NodeonsurfaceEnum()
+
+macro=StringToEnum('Nodeonsurface');
