Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21444)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21445)
@@ -53,7 +53,6 @@
 				/*Free ressources:*/
 				for(j=0;j<numgates;j++){
-					char*       string = gatenames[j];             xDelete<char>(string);
-					char*       string2= gatedefinitionstrings[j]; xDelete<char>(string2);
-					IssmDouble* gate   = gatesegments[j];          xDelete<IssmDouble>(gate);
+					char*       string = gatenames[j];    xDelete<char>(string);
+					IssmDouble* gate   = gatesegments[j]; xDelete<IssmDouble>(gate);
 				}
 				xDelete<char*>(gatenames);
@@ -142,12 +141,12 @@
 				int          numnodalvalues;
 				char**       nodalvalue_name_s             = NULL;    
-				int*         nodalvalue_definitionenums_s             = NULL;    
-				int*         nodalvalue_model_enum_s        = NULL;
+				char**       nodalvalue_definitionstrings             = NULL;    
+				char**       nodalvalue_modelstrings        = NULL;
 				int*         nodalvalue_node_s = NULL;
 
 				/*Fetch name, model_enum, etc ... (see src/m/classes/nodalvalue.m): */
 				iomodel->FetchMultipleData(&nodalvalue_name_s,&numnodalvalues,            "md.nodalvalue.name");
-				iomodel->FetchMultipleData(&nodalvalue_definitionenums_s,&numnodalvalues, "md.nodalvalue.definitionenum");
-				iomodel->FetchMultipleData(&nodalvalue_model_enum_s,&numnodalvalues,      "md.nodalvalue.model_enum");
+				iomodel->FetchMultipleData(&nodalvalue_definitionstrings,&numnodalvalues, "md.nodalvalue.definitionenum");
+				iomodel->FetchMultipleData(&nodalvalue_modelstrings,&numnodalvalues,      "md.nodalvalue.model_enum");
 				iomodel->FetchMultipleData(&nodalvalue_node_s,&numnodalvalues,            "md.nodalvalue.node");
 
@@ -155,5 +154,5 @@
 
 					/*First create a nodalvalue object for that specific enum (nodalvalue_model_enum_s[j]):*/
-					output_definitions->AddObject(new Nodalvalue(nodalvalue_name_s[j],nodalvalue_definitionenums_s[j],nodalvalue_model_enum_s[j],nodalvalue_node_s[j]-1)); //-1 because matlab to c indexing.
+					output_definitions->AddObject(new Nodalvalue(nodalvalue_name_s[j],StringToEnumx(nodalvalue_definitionstrings[j]),StringToEnumx(nodalvalue_modelstrings[j]),nodalvalue_node_s[j]-1)); //-1 because matlab to c indexing.
 				}
 					
@@ -165,6 +164,6 @@
 				}
 				xDelete<char*>(nodalvalue_name_s);
-				xDelete<int>(nodalvalue_model_enum_s);
-				xDelete<int>(nodalvalue_definitionenums_s);
+				xDelete<char*>(nodalvalue_modelstrings);
+				xDelete<char*>(nodalvalue_definitionstrings);
 				xDelete<int>(nodalvalue_node_s);
 				/*}}}*/
Index: /issm/trunk-jpl/src/m/classes/nodalvalue.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/nodalvalue.m	(revision 21444)
+++ /issm/trunk-jpl/src/m/classes/nodalvalue.m	(revision 21445)
@@ -60,8 +60,8 @@
 		function md = marshall(self,prefix,md,fid) % {{{
 
-		WriteData(fid,prefix,'object',self,'fieldname','name','format','String');
-		WriteData(fid,prefix,'object',self,'fieldname','definitionstring','format','String');
-		WriteData(fid,prefix,'object',self,'fieldname','model_string','format','String');
-		WriteData(fid,prefix,'object',self,'fieldname','node','format','Integer');
+		WriteData(fid,prefix,'data',self.name,'name','md.nodalvalue.name','format','String');
+		WriteData(fid,prefix,'data',self.definitionstring,'name','md.nodalvalue.definitionenum','format','String');
+		WriteData(fid,prefix,'data',self.model_string,'name','md.nodalvalue.model_enum','format','String');
+		WriteData(fid,prefix,'data',self.node,'name','md.nodalvalue.node','format','Integer');
 
 		end % }}}
