Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9384)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9385)
@@ -552,4 +552,5 @@
 	HydrologyWaterVyEnum,
 	SpcDynamicEnum,
+	NumberOfEdgesEnum,
 	MaximumNumberOfEnums
 };
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9384)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9385)
@@ -494,4 +494,5 @@
 		case HydrologyWaterVyEnum : return "HydrologyWaterVy";
 		case SpcDynamicEnum : return "SpcDynamic";
+		case NumberOfEdgesEnum : return "NumberOfEdges";
 		default : return "unknown";
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp	(revision 9384)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp	(revision 9385)
@@ -21,4 +21,5 @@
 	int numberofedges;
 	int numpenalties;
+	int numberofelements;
 
 	/*DataSet*/
@@ -27,4 +28,6 @@
 	/*Fetch parameters: */
 	iomodel->constants->FindParam(&prognostic_DG,PrognosticDGEnum);
+	iomodel->constants->FindParam(&numberofelements,NumberOfElementsEnum);
+	iomodel->constants->FindParam(&numberofedges,NumberOfEdgesEnum);
 
 	/*Recover pointer: */
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9384)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9385)
@@ -492,4 +492,5 @@
 	else if (strcmp(name,"HydrologyWaterVy")==0) return HydrologyWaterVyEnum;
 	else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
+	else if (strcmp(name,"NumberOfEdges")==0) return NumberOfEdgesEnum;
 	else _error_("Enum %s not found",name);
 
Index: /issm/trunk/src/m/enum/NumberOfEdgesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumberOfEdgesEnum.m	(revision 9385)
+++ /issm/trunk/src/m/enum/NumberOfEdgesEnum.m	(revision 9385)
@@ -0,0 +1,11 @@
+function macro=NumberOfEdgesEnum()
+%NUMBEROFEDGESENUM - Enum of NumberOfEdges
+%
+%   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=NumberOfEdgesEnum()
+
+macro=StringToEnum('NumberOfEdges');
Index: /issm/trunk/src/m/model/marshall.m
===================================================================
--- /issm/trunk/src/m/model/marshall.m	(revision 9384)
+++ /issm/trunk/src/m/model/marshall.m	(revision 9385)
@@ -33,4 +33,5 @@
 %Quick fix: add some fields needed by parameters
 WriteData(fid,'numberofvertices',md.numberofnodes,{'Integer'});
+WriteData(fid,'numberofedges',size(md.edges,1),{'Integer'});
 
 %close file
@@ -248,4 +249,67 @@
 	error(['WriteData error message: data type: ' num2str(data_type) ' not supported yet! (' EnumToString(enum) ')']);
 end
+% }}}
+function enum=BuildEnum(string) % {{{
+%BUILDENUM - build enum out of string
+%
+%   Usage:
+%      enum=BuildEnum(string)
+
+if findstr(string,'icesheet'),
+	indices=findstr(string,'icesheet');
+	for i=1:length(indices),
+		string(indices(i):(indices(i)+7))='IceSheet';
+	end
+end
+
+if findstr(string,'iceshelf'),
+	indices=findstr(string,'iceshelf');
+	for i=1:length(indices),
+		string(indices(i):(indices(i)+7))='IceShelf';
+	end
+end
+
+if strncmpi(string,'elementon',9),
+	string(1:9)='ElementOn';
+	string(10)=upper(string(10));
+end
+
+if strncmpi(string,'nodeon',6),
+	string(1:6)='NodeOn';
+	string(7)=upper(string(7));
+end
+
+if strncmpi(string,'numberof',8),
+	string(1:8)='NumberOf';
+	string(9)=upper(string(9));
+end
+
+if findstr(string,'_'),
+	indices=findstr(string,'_');
+	for i=1:length(indices),
+		string(indices(i)+1)=upper(string(indices(i)+1));
+	end
+	string(indices)=[];
+end
+
+if findstr(string,'2d'),
+	indices=findstr(string,'2d');
+	for i=1:length(indices),
+		string(indices(i)+1)=upper(string(indices(i)+1));
+	end
+end
+
+if findstr(string,'3d'),
+	indices=findstr(string,'3d');
+	for i=1:length(indices),
+		string(indices(i)+1)=upper(string(indices(i)+1));
+	end
+end
+
+%take first letter of string and make it uppercase: 
+string(1)=upper(string(1));
+
+%Get Enum
+enum=eval([string 'Enum']); 
 % }}}
 function code=TypeToCode(data_type) % {{{1
Index: sm/trunk/src/m/utils/Enum/BuildEnum.m
===================================================================
--- /issm/trunk/src/m/utils/Enum/BuildEnum.m	(revision 9384)
+++ 	(revision )
@@ -1,62 +1,0 @@
-function enum=BuildEnum(string)
-%BUILDENUM - build enum out of string
-%
-%   Usage:
-%      enum=BuildEnum(string)
-
-if findstr(string,'icesheet'),
-	indices=findstr(string,'icesheet');
-	for i=1:length(indices),
-		string(indices(i):(indices(i)+7))='IceSheet';
-	end
-end
-
-if findstr(string,'iceshelf'),
-	indices=findstr(string,'iceshelf');
-	for i=1:length(indices),
-		string(indices(i):(indices(i)+7))='IceShelf';
-	end
-end
-
-if strncmpi(string,'elementon',9),
-	string(1:9)='ElementOn';
-	string(10)=upper(string(10));
-end
-
-if strncmpi(string,'nodeon',6),
-	string(1:6)='NodeOn';
-	string(7)=upper(string(7));
-end
-
-if strncmpi(string,'numberof',8),
-	string(1:8)='NumberOf';
-	string(9)=upper(string(9));
-end
-
-if findstr(string,'_'),
-	indices=findstr(string,'_');
-	for i=1:length(indices),
-		string(indices(i)+1)=upper(string(indices(i)+1));
-	end
-	string(indices)=[];
-end
-
-if findstr(string,'2d'),
-	indices=findstr(string,'2d');
-	for i=1:length(indices),
-		string(indices(i)+1)=upper(string(indices(i)+1));
-	end
-end
-
-if findstr(string,'3d'),
-	indices=findstr(string,'3d');
-	for i=1:length(indices),
-		string(indices(i)+1)=upper(string(indices(i)+1));
-	end
-end
-
-%take first letter of string and make it uppercase: 
-string(1)=upper(string(1));
-
-%Get Enum
-enum=eval([string 'Enum']);
