Index: /issm/branches/trunk-larour-NatClimateChange2016/src/c/cores/sealevelrise_core.cpp
===================================================================
--- /issm/branches/trunk-larour-NatClimateChange2016/src/c/cores/sealevelrise_core.cpp	(revision 21241)
+++ /issm/branches/trunk-larour-NatClimateChange2016/src/c/cores/sealevelrise_core.cpp	(revision 21242)
@@ -85,22 +85,30 @@
 		InputUpdateFromVectorx(femmodel,Sg,SealevelEnum,VertexSIdEnum);
 
-		/*compute other geodetic signatures, such as absolute sea level chagne, components of 3-D crustal motion: */
-		/*Initialize:*/
-		U_radial = new Vector<IssmDouble>(gsize);
-		U_north = new Vector<IssmDouble>(gsize);
-		U_east = new Vector<IssmDouble>(gsize);
-		Sg_absolute = new Vector<IssmDouble>(gsize); 
-		
-		/*call the geodetic main modlule:*/ 
-		femmodel->SealevelriseGeodetic(U_radial,U_north,U_east,Sg,latitude,longitude,radius,xx,yy,zz); 
-
-		/*compute: absolute sea level change = relative sea level change + vertical motion*/
-		Sg->Copy(Sg_absolute); Sg_absolute->AXPY(U_radial,1); 
-		
-		/*get results into elements:*/
-		InputUpdateFromVectorx(femmodel,U_radial,SealevelUmotionEnum,VertexSIdEnum);	// radial displacement 
-		InputUpdateFromVectorx(femmodel,U_north,SealevelNmotionEnum,VertexSIdEnum);	// north motion 
-		InputUpdateFromVectorx(femmodel,U_east,SealevelEmotionEnum,VertexSIdEnum);		// east motion 
-		InputUpdateFromVectorx(femmodel,Sg_absolute,SealevelAbsoluteEnum,VertexSIdEnum);
+		int geodetic=0;
+		if (geodetic){
+
+			/*compute other geodetic signatures, such as absolute sea level chagne, components of 3-D crustal motion: */
+			/*Initialize:*/
+			U_radial = new Vector<IssmDouble>(gsize);
+			U_north = new Vector<IssmDouble>(gsize);
+			U_east = new Vector<IssmDouble>(gsize);
+			Sg_absolute = new Vector<IssmDouble>(gsize); 
+			
+			/*call the geodetic main modlule:*/ 
+			femmodel->SealevelriseGeodetic(U_radial,U_north,U_east,Sg,latitude,longitude,radius,xx,yy,zz); 
+
+			/*compute: absolute sea level change = relative sea level change + vertical motion*/
+			Sg->Copy(Sg_absolute); Sg_absolute->AXPY(U_radial,1); 
+			
+			/*get results into elements:*/
+			InputUpdateFromVectorx(femmodel,U_radial,SealevelUmotionEnum,VertexSIdEnum);	// radial displacement 
+			InputUpdateFromVectorx(femmodel,U_north,SealevelNmotionEnum,VertexSIdEnum);	// north motion 
+			InputUpdateFromVectorx(femmodel,U_east,SealevelEmotionEnum,VertexSIdEnum);		// east motion 
+			InputUpdateFromVectorx(femmodel,Sg_absolute,SealevelAbsoluteEnum,VertexSIdEnum);
+			delete U_radial;
+			delete U_north;
+			delete U_east;
+			delete Sg_absolute;
+		}
 		
 		if(save_results){
@@ -115,8 +123,4 @@
 		delete Sg;
 		delete Sg_eustatic;
-		delete U_radial;
-		delete U_north;
-		delete U_east;
-		delete Sg_absolute;
 		if(numoutputs){for(int i=0;i<numoutputs;i++){xDelete<char>(requested_outputs[i]);} xDelete<char*>(requested_outputs);}
 	}
Index: /issm/branches/trunk-larour-NatClimateChange2016/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp
===================================================================
--- /issm/branches/trunk-larour-NatClimateChange2016/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21241)
+++ /issm/branches/trunk-larour-NatClimateChange2016/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp	(revision 21242)
@@ -141,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");
 
@@ -154,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.
 				}
 					
@@ -164,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);
 				/*}}}*/
