Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9718)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 9719)
@@ -148,4 +148,5 @@
 	AutodiffReverseEnum,
 	MeshAverageVertexConnectivityEnum,
+	MeshDimensionEnum,
 	/*}}}*/
 	/*Datasets {{{1*/
@@ -411,5 +412,4 @@
 	OldGradientEnum,
 	ControlSteadyEnum,
-	DimEnum,
 	NumberOfElementsEnum,
 	NumberOfVerticesEnum,
@@ -485,8 +485,4 @@
 	SpcDynamicEnum,
 	NumberOfEdgesEnum,
-	/*Automatic differentiation: */
-	AdAnalysisEnum,
-	AdForwardEnum,
-	AdReverseEnum,
 	MaximumNumberOfEnums
 };
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 9719)
@@ -152,4 +152,5 @@
 		case AutodiffReverseEnum : return "AutodiffReverse";
 		case MeshAverageVertexConnectivityEnum : return "MeshAverageVertexConnectivity";
+		case MeshDimensionEnum : return "MeshDimension";
 		case ConstraintsEnum : return "Constraints";
 		case ElementsEnum : return "Elements";
@@ -363,5 +364,4 @@
 		case OldGradientEnum : return "OldGradient";
 		case ControlSteadyEnum : return "ControlSteady";
-		case DimEnum : return "Dim";
 		case NumberOfElementsEnum : return "NumberOfElements";
 		case NumberOfVerticesEnum : return "NumberOfVertices";
@@ -429,7 +429,4 @@
 		case SpcDynamicEnum : return "SpcDynamic";
 		case NumberOfEdgesEnum : return "NumberOfEdges";
-		case AdAnalysisEnum : return "AdAnalysis";
-		case AdForwardEnum : return "AdForward";
-		case AdReverseEnum : return "AdReverse";
 		default : return "unknown";
 
Index: /issm/trunk/src/c/modules/Gradjx/Gradjx.cpp
===================================================================
--- /issm/trunk/src/c/modules/Gradjx/Gradjx.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/Gradjx/Gradjx.cpp	(revision 9719)
@@ -18,5 +18,5 @@
 	
 	/*retrieve some parameters: */
-	parameters->FindParam(&dim,DimEnum);
+	parameters->FindParam(&dim,MeshDimensionEnum);
 	numberofvertices=vertices->NumberOfVertices();
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp	(revision 9719)
@@ -30,5 +30,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp	(revision 9719)
@@ -20,5 +20,5 @@
 
 	/*Fetch data needed: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->FetchData(1,ElementsEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp	(revision 9719)
@@ -20,5 +20,5 @@
 
 	/*Fetch data needed: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->FetchData(1,ElementsEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp	(revision 9719)
@@ -28,5 +28,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp	(revision 9719)
@@ -29,5 +29,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 9719)
@@ -25,5 +25,5 @@
 		
 	/*Copy some constants from iomodel */
-	parameters->AddObject(iomodel->CopyConstantObject(DimEnum));
+	parameters->AddObject(iomodel->CopyConstantObject(MeshDimensionEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(FlowequationIshutterEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsmacayealpattynEnum));
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp	(revision 9719)
@@ -32,5 +32,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 9719)
@@ -39,5 +39,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&yts,ConstantsYtsEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 9719)
@@ -40,5 +40,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
 	iomodel->Constant(&isstokes,FlowequationIsstokesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp	(revision 9719)
@@ -26,5 +26,5 @@
 	iomodel->Constant(&isstokes,FlowequationIsstokesEnum);
 	iomodel->Constant(&ismacayealpattyn,FlowequationIsmacayealpattynEnum);
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->Constant(&control_analysis,InversionIscontrolEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp	(revision 9719)
@@ -24,5 +24,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&yts,ConstantsYtsEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp	(revision 9719)
@@ -25,5 +25,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp	(revision 9719)
@@ -20,5 +20,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp	(revision 9719)
@@ -48,5 +48,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp	(revision 9719)
@@ -26,5 +26,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
 	iomodel->Constant(&heatcapacity,MaterialsHeatcapacityEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 9719)
@@ -20,5 +20,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp	(revision 9719)
@@ -22,5 +22,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp	(revision 9719)
@@ -20,5 +20,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp	(revision 9719)
@@ -37,5 +37,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&verbose,VerboseEnum);
 	
Index: /issm/trunk/src/c/modules/ModelProcessorx/NodesPartitioning.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/NodesPartitioning.cpp	(revision 9719)
@@ -78,5 +78,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 
 	/*Build discontinuous node partitioning
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp	(revision 9719)
@@ -30,5 +30,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp	(revision 9719)
@@ -21,5 +21,5 @@
 
 	/*Fetch data needed: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->Constant(&stabilization,PrognosticStabilizationEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/UpdateElementsSurfaceSlope.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/UpdateElementsSurfaceSlope.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/UpdateElementsSurfaceSlope.cpp	(revision 9719)
@@ -20,5 +20,5 @@
 
 	/*Fetch data needed: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->FetchData(1,ElementsEnum);
Index: /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp	(revision 9719)
@@ -23,5 +23,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 
 	/*Recover pointer: */
Index: /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp	(revision 9719)
@@ -26,5 +26,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 9719)
@@ -21,5 +21,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 	iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum);
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9718)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 9719)
@@ -150,4 +150,5 @@
 	else if (strcmp(name,"AutodiffReverse")==0) return AutodiffReverseEnum;
 	else if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum;
+	else if (strcmp(name,"MeshDimension")==0) return MeshDimensionEnum;
 	else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
 	else if (strcmp(name,"Elements")==0) return ElementsEnum;
@@ -361,5 +362,4 @@
 	else if (strcmp(name,"OldGradient")==0) return OldGradientEnum;
 	else if (strcmp(name,"ControlSteady")==0) return ControlSteadyEnum;
-	else if (strcmp(name,"Dim")==0) return DimEnum;
 	else if (strcmp(name,"NumberOfElements")==0) return NumberOfElementsEnum;
 	else if (strcmp(name,"NumberOfVertices")==0) return NumberOfVerticesEnum;
@@ -427,7 +427,4 @@
 	else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
 	else if (strcmp(name,"NumberOfEdges")==0) return NumberOfEdgesEnum;
-	else if (strcmp(name,"AdAnalysis")==0) return AdAnalysisEnum;
-	else if (strcmp(name,"AdForward")==0) return AdForwardEnum;
-	else if (strcmp(name,"AdReverse")==0) return AdReverseEnum;
 	else _error_("Enum %s not found",name);
 
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 9718)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 9719)
@@ -535,5 +535,5 @@
 	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
 	this->parameters->FindParam(&stabilization,BalancethicknessStabilizationEnum);
-	this->parameters->FindParam(&dim,DimEnum);
+	this->parameters->FindParam(&dim,MeshDimensionEnum);
 	Input* vxaverage_input=NULL;
 	Input* vyaverage_input=NULL;
@@ -643,5 +643,5 @@
 	/*Retrieve all inputs and parameters*/
 	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
-	this->parameters->FindParam(&dim,DimEnum);
+	this->parameters->FindParam(&dim,MeshDimensionEnum);
 	Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input);
@@ -1028,5 +1028,5 @@
 	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
-	this->parameters->FindParam(&dim,DimEnum);
+	this->parameters->FindParam(&dim,MeshDimensionEnum);
 	this->parameters->FindParam(&stabilization,PrognosticStabilizationEnum);
 	Input* vxaverage_input=NULL;
@@ -1138,5 +1138,5 @@
 	GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
 	this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
-	this->parameters->FindParam(&dim,DimEnum);
+	this->parameters->FindParam(&dim,MeshDimensionEnum);
 	Input* vxaverage_input=NULL;
 	Input* vyaverage_input=NULL;
Index: /issm/trunk/src/c/objects/Loads/Icefront.cpp
===================================================================
--- /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 9718)
+++ /issm/trunk/src/c/objects/Loads/Icefront.cpp	(revision 9719)
@@ -54,5 +54,5 @@
 	
 	/*find parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&numberofelements,NumberOfElementsEnum);
 
Index: /issm/trunk/src/c/objects/Materials/Matice.cpp
===================================================================
--- /issm/trunk/src/c/objects/Materials/Matice.cpp	(revision 9718)
+++ /issm/trunk/src/c/objects/Materials/Matice.cpp	(revision 9719)
@@ -602,5 +602,5 @@
 							parameters=((Penta*)(element))->parameters;
 						}
-						parameters->FindParam(&dim,DimEnum);
+						parameters->FindParam(&dim,MeshDimensionEnum);
 						if(dim==2){
 							/*Dupliacte rheology input: */
@@ -660,5 +660,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 	iomodel->Constant(&control_analysis,InversionIscontrolEnum);
 	iomodel->Constant(&num_control_type,InversionNumControlParametersEnum);
Index: /issm/trunk/src/c/objects/Node.cpp
===================================================================
--- /issm/trunk/src/c/objects/Node.cpp	(revision 9718)
+++ /issm/trunk/src/c/objects/Node.cpp	(revision 9719)
@@ -37,5 +37,5 @@
 
 	/*Fetch parameters: */
-	iomodel->Constant(&dim,DimEnum);
+	iomodel->Constant(&dim,MeshDimensionEnum);
 
 	/*id: */
Index: /issm/trunk/src/c/solutions/balancethickness_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/balancethickness_core.cpp	(revision 9718)
+++ /issm/trunk/src/c/solutions/balancethickness_core.cpp	(revision 9719)
@@ -23,5 +23,5 @@
 	
 	/*recover parameters: */
-	femmodel->parameters->FindParam(&dim,DimEnum);
+	femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
 	femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
Index: /issm/trunk/src/c/solutions/bedslope_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/bedslope_core.cpp	(revision 9718)
+++ /issm/trunk/src/c/solutions/bedslope_core.cpp	(revision 9719)
@@ -20,5 +20,5 @@
 
 	/*Recover some parameters: */
-	femmodel->parameters->FindParam(&dim,DimEnum);
+	femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
 	femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
Index: /issm/trunk/src/c/solutions/control_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/control_core.cpp	(revision 9718)
+++ /issm/trunk/src/c/solutions/control_core.cpp	(revision 9719)
@@ -54,5 +54,5 @@
 	femmodel->parameters->FindParam(&eps_cm,InversionCostFunctionThresholdEnum);
 	femmodel->parameters->FindParam(&cm_gradient,InversionGradientOnlyEnum);
-	femmodel->parameters->FindParam(&dim,DimEnum);
+	femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
 	femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
Index: /issm/trunk/src/c/solutions/diagnostic_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/diagnostic_core.cpp	(revision 9718)
+++ /issm/trunk/src/c/solutions/diagnostic_core.cpp	(revision 9719)
@@ -28,5 +28,5 @@
 
 	/* recover parameters:*/
-	femmodel->parameters->FindParam(&dim,DimEnum);
+	femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
 	femmodel->parameters->FindParam(&ishutter,FlowequationIshutterEnum);
 	femmodel->parameters->FindParam(&ismacayealpattyn,FlowequationIsmacayealpattynEnum);
Index: /issm/trunk/src/c/solutions/steadystate_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/steadystate_core.cpp	(revision 9718)
+++ /issm/trunk/src/c/solutions/steadystate_core.cpp	(revision 9719)
@@ -26,5 +26,5 @@
 	
 	/* recover parameters:*/
-	femmodel->parameters->FindParam(&dim,DimEnum);
+	femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
 	femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
Index: /issm/trunk/src/c/solutions/surfaceslope_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/surfaceslope_core.cpp	(revision 9718)
+++ /issm/trunk/src/c/solutions/surfaceslope_core.cpp	(revision 9719)
@@ -20,5 +20,5 @@
 
 	/*Recover some parameters: */
-	femmodel->parameters->FindParam(&dim,DimEnum);
+	femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
 	femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
 	femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
Index: /issm/trunk/src/c/solutions/transient_core.cpp
===================================================================
--- /issm/trunk/src/c/solutions/transient_core.cpp	(revision 9718)
+++ /issm/trunk/src/c/solutions/transient_core.cpp	(revision 9719)
@@ -30,5 +30,5 @@
 
 	//first recover parameters common to all solutions
-	femmodel->parameters->FindParam(&dim,DimEnum);
+	femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
 	femmodel->parameters->FindParam(&finaltime,TimesteppingFinalTimeEnum);
 	femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
Index: /issm/trunk/src/m/classes/mesh.m
===================================================================
--- /issm/trunk/src/m/classes/mesh.m	(revision 9718)
+++ /issm/trunk/src/m/classes/mesh.m	(revision 9719)
@@ -15,4 +15,5 @@
 		segments             = modelfield('default',NaN,'marshall',false);
 		segmentmarkers       = modelfield('default',NaN,'marshall',false);
+		dimension            = modelfield('default',0,'marshall',true,'format','Integer');
 	end
 	methods
@@ -51,5 +52,5 @@
 			disp(sprintf('   Mesh:')); 
 
-			if obj.dim==3,
+			if obj.dimension==3,
 				disp(sprintf('\n      Elements and nodes of the original 2d mesh:'));
 				fielddisplay(obj,'numberofelements2d','number of elements');
@@ -73,5 +74,5 @@
 
 			disp(sprintf('\n      Properties:'));
-			fielddisplay(obj,'dim','mesh dimension (2d or 3d)');
+			fielddisplay(obj,'dimension','mesh dimension (2d or 3d)');
 			fielddisplay(obj,'numlayers','number of extrusion layers');
 			fielddisplay(obj,'penalties','penalties list');
Index: /issm/trunk/src/m/classes/model/model.m
===================================================================
--- /issm/trunk/src/m/classes/model/model.m	(revision 9718)
+++ /issm/trunk/src/m/classes/model/model.m	(revision 9719)
@@ -42,6 +42,4 @@
 
 		 %FIXME: all other fields should belong to other classes
-
-		 dim                 = modelfield('default',0,'marshall',true,'format','Integer');
 		 numberofelements    = modelfield('default',0,'marshall',true,'format','Integer');
 		 numberofnodes       = modelfield('default',0,'marshall',true,'format','Integer');
@@ -318,9 +316,10 @@
 			 if isfield(structmd,'segments'), md.mesh.segments=structmd.segments; end
 			 if isfield(structmd,'segmentmarkers'), md.mesh.segmentmarkers=structmd.segmentmarkers; end
+			 if isfield(structmd,'dimension'), md.mesh.dimension=structmd.dimension; end
 
 			 %Field changes
 			 if (isfield(structmd,'type') & ischar(structmd.type)), 
-				 if strcmpi(structmd.type,'2d'), md.dim=2; end
-				 if strcmpi(structmd.type,'3d'), md.dim=3; end
+				 if strcmpi(structmd.type,'2d'), md.mesh.dimension=2; end
+				 if strcmpi(structmd.type,'3d'), md.mesh.dimension=3; end
 			 end
 			 if isnumeric(md.verbose),
Index: sm/trunk/src/m/enum/AdAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdAnalysisEnum.m	(revision 9718)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=AdAnalysisEnum()
-%ADANALYSISENUM - Enum of AdAnalysis
-%
-%   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=AdAnalysisEnum()
-
-macro=StringToEnum('AdAnalysis');
Index: sm/trunk/src/m/enum/AdForwardEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdForwardEnum.m	(revision 9718)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=AdForwardEnum()
-%ADFORWARDENUM - Enum of AdForward
-%
-%   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=AdForwardEnum()
-
-macro=StringToEnum('AdForward');
Index: sm/trunk/src/m/enum/AdReverseEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdReverseEnum.m	(revision 9718)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=AdReverseEnum()
-%ADREVERSEENUM - Enum of AdReverse
-%
-%   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=AdReverseEnum()
-
-macro=StringToEnum('AdReverse');
Index: sm/trunk/src/m/enum/ConnectivityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ConnectivityEnum.m	(revision 9718)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=ConnectivityEnum()
-%CONNECTIVITYENUM - Enum of Connectivity
-%
-%   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=ConnectivityEnum()
-
-macro=StringToEnum('Connectivity');
Index: sm/trunk/src/m/enum/DimEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DimEnum.m	(revision 9718)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=DimEnum()
-%DIMENUM - Enum of Dim
-%
-%   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=DimEnum()
-
-macro=StringToEnum('Dim');
Index: /issm/trunk/src/m/enum/MeshDimensionEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MeshDimensionEnum.m	(revision 9719)
+++ /issm/trunk/src/m/enum/MeshDimensionEnum.m	(revision 9719)
@@ -0,0 +1,11 @@
+function macro=MeshDimensionEnum()
+%MESHDIMENSIONENUM - Enum of MeshDimension
+%
+%   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=MeshDimensionEnum()
+
+macro=StringToEnum('MeshDimension');
Index: /issm/trunk/src/m/model/DepthAverage.m
===================================================================
--- /issm/trunk/src/m/model/DepthAverage.m	(revision 9718)
+++ /issm/trunk/src/m/model/DepthAverage.m	(revision 9719)
@@ -9,5 +9,5 @@
 
 %check that the model given in input is 3d
-if ~md.dim==3;
+if ~md.mesh.dimension==3;
 	error('DepthAverage error message: the model given in input must be 3d')
 end
Index: /issm/trunk/src/m/model/PropagateFlagsUntilDistance.m
===================================================================
--- /issm/trunk/src/m/model/PropagateFlagsUntilDistance.m	(revision 9718)
+++ /issm/trunk/src/m/model/PropagateFlagsUntilDistance.m	(revision 9719)
@@ -12,5 +12,5 @@
 
 %make 3d work in 2d: 
-if md.dim==3,
+if md.mesh.dimension==3,
 	md.x=md.x2d;
 	md.y=md.y2d;
Index: /issm/trunk/src/m/model/SectionValues.m
===================================================================
--- /issm/trunk/src/m/model/SectionValues.m	(revision 9718)
+++ /issm/trunk/src/m/model/SectionValues.m	(revision 9719)
@@ -30,5 +30,5 @@
 	error('SectionValues error message: wrong resolution type. Resolution must be an array [horizontal_resolution vertical_resolution]')
 end
-if md.dim==3
+if md.mesh.dimension==3
 	if (length(resolution)==2 & isnumeric(resolution(2)))
 		res_v=resolution(2);
@@ -79,5 +79,5 @@
 
 %New mesh and Data interpolation
-if (md.dim==2)
+if (md.mesh.dimension==2)
 
 	%Interpolation of data on specified points
Index: /issm/trunk/src/m/model/averaging.m
===================================================================
--- /issm/trunk/src/m/model/averaging.m	(revision 9718)
+++ /issm/trunk/src/m/model/averaging.m	(revision 9719)
@@ -31,5 +31,5 @@
 %build some variables
 line=index(:);
-if md.dim==3
+if md.mesh.dimension==3
 	rep=6;
 	areas=GetAreas(index,md.x,md.y,md.z);
Index: /issm/trunk/src/m/model/bamg.m
===================================================================
--- /issm/trunk/src/m/model/bamg.m	(revision 9718)
+++ /issm/trunk/src/m/model/bamg.m	(revision 9719)
@@ -265,5 +265,5 @@
 
 % Bamg Mesh parameters {{{1
-if (~exist(options,'domain') & md.numberofnodes~=0 & md.dim==2),
+if (~exist(options,'domain') & md.numberofnodes~=0 & md.mesh.dimension==2),
 
 	if isstruct(md.private.bamg),
@@ -325,5 +325,5 @@
 
 %Fill in rest of fields:
-md.dim=2;
+md.mesh.dimension=2;
 md.numberofelements=size(md.elements,1);
 md.numberofnodes=length(md.x);
Index: /issm/trunk/src/m/model/bedslope.m
===================================================================
--- /issm/trunk/src/m/model/bedslope.m	(revision 9718)
+++ /issm/trunk/src/m/model/bedslope.m	(revision 9719)
@@ -6,5 +6,5 @@
 
 %load some variables (it is much faster if the variab;es are loaded from md once for all) 
-if (md.dim==2),
+if (md.mesh.dimension==2),
 	numberofelements=md.numberofelements;
 	numberofnodes=md.numberofnodes;
@@ -26,5 +26,5 @@
 b=sqrt(bx.^2+by.^2);
 
-if md.dim==3,
+if md.mesh.dimension==3,
 	bx=project3d(md,bx,'element');
 	by=project3d(md,by,'element');
Index: /issm/trunk/src/m/model/collapse.m
===================================================================
--- /issm/trunk/src/m/model/collapse.m	(revision 9718)
+++ /issm/trunk/src/m/model/collapse.m	(revision 9719)
@@ -12,5 +12,5 @@
 
 %Check that the model is really a 3d model
-if ~md.dim==3,
+if ~md.mesh.dimension==3,
 	error('collapse error message: only 3d mesh can be collapsed')
 end
@@ -110,3 +110,3 @@
 
 %Update mesh type
-md.dim=2;
+md.mesh.dimension=2;
Index: /issm/trunk/src/m/model/display/displaymesh.m
===================================================================
--- /issm/trunk/src/m/model/display/displaymesh.m	(revision 9718)
+++ /issm/trunk/src/m/model/display/displaymesh.m	(revision 9719)
@@ -11,5 +11,5 @@
 disp(sprintf('   Mesh:')); 
 
-if md.dim==3,
+if md.mesh.dimension==3,
 
 	disp(sprintf('\n      Elements and nodes of the original 2d mesh:'));
Index: /issm/trunk/src/m/model/divergence.m
===================================================================
--- /issm/trunk/src/m/model/divergence.m	(revision 9718)
+++ /issm/trunk/src/m/model/divergence.m	(revision 9719)
@@ -5,5 +5,5 @@
 %      div=divergence(md,a,b)
 
-if (md.dim==2),
+if (md.mesh.dimension==2),
 	numberofelements=md.numberofelements;
 	numberofnodes=md.numberofnodes;
Index: /issm/trunk/src/m/model/extrude.m
===================================================================
--- /issm/trunk/src/m/model/extrude.m	(revision 9718)
+++ /issm/trunk/src/m/model/extrude.m	(revision 9719)
@@ -110,5 +110,5 @@
 
 %Update mesh type
-md.dim=3;
+md.mesh.dimension=3;
 
 %Build global 3d mesh 
Index: /issm/trunk/src/m/model/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9718)
+++ /issm/trunk/src/m/model/ismodelselfconsistent.m	(revision 9719)
@@ -49,5 +49,5 @@
 %ELEMENTS{{{1
 fields={'elements'};
-if (md.dim==2),
+if (md.mesh.dimension==2),
 	checksize(md,fields,[md.numberofelements 3]);
 else
@@ -70,8 +70,8 @@
 %}}}
 %PRESSURELOAD{{{1
-if (md.dim==2),
+if (md.mesh.dimension==2),
 	fields={'diagnostic.icefront'};
 	checksize(md,fields,[NaN 4]);
-elseif md.dim==3,
+elseif md.mesh.dimension==3,
 	fields={'diagnostic.icefront'};
 	checksize(md,fields,[NaN 6]);
@@ -125,5 +125,5 @@
 end
 if ~strcmp(md.groundingline.migration,'None'),
-	if (md.dim==3 | strcmpi(md.cluster.name,'none')),
+	if (md.mesh.dimension==3 | strcmpi(md.cluster.name,'none')),
 		message(['model ' md.miscellaneous.name ' requesting grounding line migration, but grounding line module only implemented for 2d models and parallel runs!']);
 	end
@@ -145,5 +145,5 @@
 %RIFTS{{{1
 if md.rifts.numrifts,
-	if ~(md.dim==2),
+	if ~(md.mesh.dimension==2),
 		message(['model not consistent: models with rifts are only supported in 2d for now!']);
 	end
@@ -187,10 +187,10 @@
 %}}}
 %CONNECTIVITY {{{1
-if (md.dim==2),
+if (md.mesh.dimension==2),
 	if md.mesh.average_vertex_connectivity<9, 
 		message('model not consistent: connectivity should be at least 9 for 2d models');
 	end
 end
-if md.dim==3,
+if md.mesh.dimension==3,
 	if md.mesh.average_vertex_connectivity<24, 
 		message('model not consistent: connectivity should be at least 24 for 3d models');
@@ -342,5 +342,5 @@
 	end
 
-	if (md.dim~=2),
+	if (md.mesh.dimension~=2),
 		message(['model not consistent: for a ' md.private.solution ' computation, the grounding line module is only implemented in 2d !'])
 	end
@@ -390,5 +390,5 @@
 			end
 			%CHECK THAT ROTATION IS IN THE (X,Y) PLANE FOR 2D MODELS
-			if md.dim==2,
+			if md.mesh.dimension==2,
 				pos=find(sum(isnan(md.diagnostic.referential),2)==0  & md.flowequation.vertex_equation==2);
 				if any(md.diagnostic.referential(pos,3:5)~=0);
@@ -410,5 +410,5 @@
 			%Check the values of flowequation.element_equation
 			checkvalues(md,{'flowequation.element_equation'},[0:7]);
-			if (md.dim==2),
+			if (md.mesh.dimension==2),
 				checkvalues(md,{'flowequation.element_equation'},[1 2]);
 			end
@@ -423,5 +423,5 @@
 			%Check the values of flowequation.vertex_equation
 			checkvalues(md,{'flowequation.vertex_equation'},[0:7]);
-			if (md.dim==2),
+			if (md.mesh.dimension==2),
 				checkvalues(md,{'flowequation.vertex_equation'},[1 2]);
 			end
@@ -432,5 +432,5 @@
 		case DiagnosticVertAnalysisEnum,
 			% {{{2
-			if md.dim==3,
+			if md.mesh.dimension==3,
 				% No checks for now
 			end
@@ -486,5 +486,5 @@
 			% {{{2
 			%EXTRUSION
-			if (md.dim==2),
+			if (md.mesh.dimension==2),
 				if md.private.solution==TransientSolutionEnum,
 					return;
@@ -534,5 +534,5 @@
 			% {{{2
 			%EXTRUSION
-			if (md.dim==2),
+			if (md.mesh.dimension==2),
 				if md.private.solution==TransientSolutionEnum,
 					return;
Index: /issm/trunk/src/m/model/mechanicalproperties.m
===================================================================
--- /issm/trunk/src/m/model/mechanicalproperties.m	(revision 9718)
+++ /issm/trunk/src/m/model/mechanicalproperties.m	(revision 9719)
@@ -17,5 +17,5 @@
 	error(['the input velocity should be of size ' num2str(md.numberofnodes) '!'])
 end
-if ~(md.dim==2)
+if ~(md.mesh.dimension==2)
 	error('only 2d model supported yet');
 end
Index: /issm/trunk/src/m/model/mesh/meshadaptation.m
===================================================================
--- /issm/trunk/src/m/model/mesh/meshadaptation.m	(revision 9718)
+++ /issm/trunk/src/m/model/mesh/meshadaptation.m	(revision 9719)
@@ -14,5 +14,5 @@
 
 %some checks
-if ~(md.dim==2)
+if ~(md.mesh.dimension==2)
 	error('meshadaptation error message: adaptation for 3d meshes not implemented yet')
 end
Index: /issm/trunk/src/m/model/mesh/meshconvert.m
===================================================================
--- /issm/trunk/src/m/model/mesh/meshconvert.m	(revision 9718)
+++ /issm/trunk/src/m/model/mesh/meshconvert.m	(revision 9719)
@@ -36,5 +36,5 @@
 
 %Fill in rest of fields:
-md.dim=2;
+md.mesh.dimension=2;
 md.numberofelements=size(md.elements,1);
 md.numberofnodes=length(md.x);
Index: /issm/trunk/src/m/model/mesh/meshnodensity.m
===================================================================
--- /issm/trunk/src/m/model/mesh/meshnodensity.m	(revision 9718)
+++ /issm/trunk/src/m/model/mesh/meshnodensity.m	(revision 9719)
@@ -69,3 +69,3 @@
 
 %type of model
-md.dim=2;
+md.mesh.dimension=2;
Index: /issm/trunk/src/m/model/mesh/meshrefine.m
===================================================================
--- /issm/trunk/src/m/model/mesh/meshrefine.m	(revision 9718)
+++ /issm/trunk/src/m/model/mesh/meshrefine.m	(revision 9719)
@@ -33,5 +33,5 @@
 
 %type of model
-md.dim=2;
+md.mesh.dimension=2;
 end
 
Index: /issm/trunk/src/m/model/mesh/reorder.m
===================================================================
--- /issm/trunk/src/m/model/mesh/reorder.m	(revision 9718)
+++ /issm/trunk/src/m/model/mesh/reorder.m	(revision 9719)
@@ -6,5 +6,5 @@
 
 %some checks
-if md.dim==3,
+if md.mesh.dimension==3,
 	error('reorder error message: 3d models not supported yet, exiting...')
 end
Index: /issm/trunk/src/m/model/mesh/rifts/meshaddrifts.m
===================================================================
--- /issm/trunk/src/m/model/mesh/rifts/meshaddrifts.m	(revision 9718)
+++ /issm/trunk/src/m/model/mesh/rifts/meshaddrifts.m	(revision 9719)
@@ -91,3 +91,3 @@
 
 %type of model
-md.dim=2;
+md.mesh.dimension=2;
Index: /issm/trunk/src/m/model/mesh/setmesh.m
===================================================================
--- /issm/trunk/src/m/model/mesh/setmesh.m	(revision 9718)
+++ /issm/trunk/src/m/model/mesh/setmesh.m	(revision 9719)
@@ -83,3 +83,3 @@
 
 %type of model
-md.dim=2;
+md.mesh.dimension=2;
Index: /issm/trunk/src/m/model/misfit.m
===================================================================
--- /issm/trunk/src/m/model/misfit.m	(revision 9718)
+++ /issm/trunk/src/m/model/misfit.m	(revision 9719)
@@ -9,5 +9,5 @@
 %
 
-if md.dim==2,
+if md.mesh.dimension==2,
 	elements=md.elements;
 	x=md.x;
Index: /issm/trunk/src/m/model/modelsextract.m
===================================================================
--- /issm/trunk/src/m/model/modelsextract.m	(revision 9718)
+++ /issm/trunk/src/m/model/modelsextract.m	(revision 9719)
@@ -21,5 +21,5 @@
 
 %2D or 3D?
-if md.dim==3,
+if md.mesh.dimension==3,
 	numberofelements=md.numberofelements2d; %this will be forgotten when we get out.
 	flags=project2d(md,flags,1);
@@ -73,5 +73,5 @@
 for i=1:size(flag_list,1),
 	disp(['   ' num2str(i) '/' num2str(size(flag_list,1))]);
-	if md.dim==3,
+	if md.mesh.dimension==3,
 		flags2d=flag_list{i};
 		realflags=project3d(md,flags2d,'element');
Index: /issm/trunk/src/m/model/partition/AreaAverageOntoPartition.m
===================================================================
--- /issm/trunk/src/m/model/partition/AreaAverageOntoPartition.m	(revision 9718)
+++ /issm/trunk/src/m/model/partition/AreaAverageOntoPartition.m	(revision 9719)
@@ -9,5 +9,5 @@
 
 %some checks
-if md.dim==3,
+if md.mesh.dimension==3,
 	if nargin~=3,
 		error('layer should be provided onto which Area Averaging occurs');
@@ -51,5 +51,5 @@
 
 %in 3D, restore 3D model:
-if md.dim==3,
+if md.mesh.dimension==3,
 	md=md3d;
 end
Index: /issm/trunk/src/m/model/partition/partitioner.m
===================================================================
--- /issm/trunk/src/m/model/partition/partitioner.m	(revision 9718)
+++ /issm/trunk/src/m/model/partition/partitioner.m	(revision 9719)
@@ -30,5 +30,5 @@
 recomputeadjacency=getfieldvalue(options,'recomputeadjacency');
 
-if(md.dim==3),
+if(md.mesh.dimension==3),
 	%partitioning essentially happens in 2D. So partition in 2D, then 
 	%extrude the partition vector vertically. 
@@ -98,5 +98,5 @@
 
 %extrude if we are in 3D:
-if md.dim==3,
+if md.mesh.dimension==3,
 	md=md3d;
 	part=project3d(md,'vector',part','type','node');
Index: /issm/trunk/src/m/model/plot/applyoptions.m
===================================================================
--- /issm/trunk/src/m/model/plot/applyoptions.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/applyoptions.m	(revision 9719)
@@ -52,5 +52,5 @@
 
 %view 
-if md.dim==3 & ~exist(options,'layer'),
+if md.mesh.dimension==3 & ~exist(options,'layer'),
 	view(getfieldvalue(options,'view',3));
 else
@@ -63,5 +63,5 @@
 	eval(['axis ' getfieldvalue(options,'axis')]);
 else
-	if ((md.dim==2) | exist(options,'layer')),
+	if ((md.mesh.dimension==2) | exist(options,'layer')),
 		axis tight equal;
 	else
Index: /issm/trunk/src/m/model/plot/plot_basaldrag.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_basaldrag.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_basaldrag.m	(revision 9719)
@@ -9,5 +9,5 @@
 
 %check layer
-if md.dim==3,
+if md.mesh.dimension==3,
 	if getfieldvalue(options,'layer',1)~=1;
 		disp('plot_basaldrag warning: basal drag is displayed in the lower layer')
Index: /issm/trunk/src/m/model/plot/plot_edges.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_edges.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_edges.m	(revision 9719)
@@ -17,5 +17,5 @@
 end
 
-if (md.dim==2),
+if (md.mesh.dimension==2),
 	%plot mesh
 	A=elements(:,1); B=elements(:,2); C=elements(:,3); 
Index: /issm/trunk/src/m/model/plot/plot_penalties.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_penalties.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_penalties.m	(revision 9719)
@@ -21,5 +21,5 @@
 end
 
-if ~md.dim==3,
+if ~md.mesh.dimension==3,
 	error('no penalties to plot for ''2d'' model');
 elseif isempty(md.penalties),
Index: /issm/trunk/src/m/model/plot/plot_pressureload.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_pressureload.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_pressureload.m	(revision 9719)
@@ -14,5 +14,5 @@
 pressureload=md.diagnostic.icefront;
 
-if (md.dim==2),
+if (md.mesh.dimension==2),
 
 	%plot mesh
Index: /issm/trunk/src/m/model/plot/plot_qmu_mass_flux_segments.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_qmu_mass_flux_segments.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_qmu_mass_flux_segments.m	(revision 9719)
@@ -13,5 +13,5 @@
 allsegments=md.qmu.mass_flux_segments;
 
-if (md.dim==2),
+if (md.mesh.dimension==2),
 
 	%recover segments
Index: /issm/trunk/src/m/model/plot/plot_section.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_section.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_section.m	(revision 9719)
@@ -32,5 +32,5 @@
 md3d=md;
 if exist(options,'layer')
-	md.x=md.x2d; md.y=md.y2d; md.elements=md.elements2d; md.dim=2;
+	md.x=md.x2d; md.y=md.y2d; md.elements=md.elements2d; md.mesh.dimension=2;
 end
 
@@ -189,12 +189,12 @@
 %apply options
 options=addfielddefault(options,'title','Section value');
-if (md.dim==2)
+if (md.mesh.dimension==2)
 	options=addfielddefault(options,'colorbar',0);
 end
-if ((md.dim==2) | getfieldvalue(options,'view')==2 )
+if ((md.mesh.dimension==2) | getfieldvalue(options,'view')==2 )
 	options=addfielddefault(options,'xlabel','Curvilinear coordinate');
 	options=addfielddefault(options,'axis','auto');
 end
-if (md.dim==3 & getfieldvalue(options,'view')==2 )
+if (md.mesh.dimension==3 & getfieldvalue(options,'view')==2 )
 	options=addfielddefault(options,'ylabel','z');
 end
Index: /issm/trunk/src/m/model/plot/plot_segments.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_segments.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_segments.m	(revision 9719)
@@ -14,5 +14,5 @@
 segments=md.mesh.segments;
 
-if (md.dim==2),
+if (md.mesh.dimension==2),
 	%plot mesh
 	A=elements(:,1); B=elements(:,2); C=elements(:,3); 
Index: /issm/trunk/src/m/model/plot/plot_tensor_components.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_tensor_components.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_tensor_components.m	(revision 9719)
@@ -10,9 +10,9 @@
 upperplots=fix((i-1)/width);
 if upperplots==0, leftplots=i-1; else leftplots=i-width*upperplots-1; end
-if (md.dim==2)%3 components -> 3 indexes
+if (md.mesh.dimension==2)%3 components -> 3 indexes
 	index1=4*width*upperplots+2*leftplots+1;
 	index2=index1+1;
 	index3=index1+width*2;
-elseif md.dim==3%6 components -> 6 indexes
+elseif md.mesh.dimension==3%6 components -> 6 indexes
 	index1=3*3*width*upperplots+3*leftplots+1;
 	index2=index1+1;
@@ -28,5 +28,5 @@
 [tensor.yy datatype]=processdata(md,tensor.yy,options);
 [tensor.xy datatype]=processdata(md,tensor.xy,options);
-if  md.dim==3
+if  md.mesh.dimension==3
 	[tensor.xz datatype]=processdata(md,tensor.xz,options);
 	[tensor.yz datatype]=processdata(md,tensor.yz,options);
@@ -34,5 +34,5 @@
 end
 
-if ((md.dim==2)),
+if ((md.mesh.dimension==2)),
 	subplot(2*width,2*width,index1),
 	plot_unit(x,y,z,elements,tensor.xx,is2d,isplanet,datatype,options)
Index: /issm/trunk/src/m/model/plot/plot_tensor_principal.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_tensor_principal.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_tensor_principal.m	(revision 9719)
@@ -10,5 +10,5 @@
 upperplots=fix((i-1)/width);
 if upperplots==0, leftplots=i-1; else leftplots=i-width*upperplots-1; end
-if (md.dim==2)%3 components -> 3 indexes
+if (md.mesh.dimension==2)%3 components -> 3 indexes
 	index1=4*width*upperplots+2*leftplots+1;
 	index2=index1+1;
@@ -16,5 +16,5 @@
 	index4=index3+1;
 	newwidth=2*width;
-elseif md.dim==3%6 components -> 6 indexes
+elseif md.mesh.dimension==3%6 components -> 6 indexes
 	index1=3*3*width*upperplots+3*leftplots+1;
 	index2=index1+1;
@@ -31,5 +31,5 @@
 type2=[type 'axis2'];
 plot_tensor_principalaxis(md,options,newwidth,index2,tensor,type2,plot_options);
-if  md.dim==3
+if  md.mesh.dimension==3
 	type3=[type 'axis3'];
 	plot_tensor_principalaxis(md,options,newwidth,index3,tensor,type3,plot_options);
@@ -40,9 +40,9 @@
 [tensor.principalvalue1 datatype]=processdata(md,tensor.principalvalue1,options);
 [tensor.principalvalue2 datatype]=processdata(md,tensor.principalvalue2,options);
-if  md.dim==3
+if  md.mesh.dimension==3
 	[tensor.principalvalue3 datatype]=processdata(md,tensor.principalvalue3,options);
 end
 
-if ((md.dim==2)),
+if ((md.mesh.dimension==2)),
 	subplot(2*width,2*width,index3)
 	plot_unit(x,y,z,elements,tensor.principalvalue1,is2d,isplanet,datatype,options)
Index: /issm/trunk/src/m/model/plot/plot_tensor_principalaxis.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_tensor_principalaxis.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_tensor_principalaxis.m	(revision 9719)
@@ -13,5 +13,5 @@
 [x y z elements is2d isplanet]=processmesh(md,[],options);
 
-if ((md.dim==2)),
+if ((md.mesh.dimension==2)),
 	eval(['Vx=tensor.principalaxis' type(end) '(:,1); Vy=tensor.principalaxis' type(end) '(:,2);'])
 	eval(['value=tensor.principalvalue' type(end) ';']);
@@ -33,5 +33,5 @@
 
 %plot quivers
-if (md.dim==2),
+if (md.mesh.dimension==2),
 
 	%density
Index: /issm/trunk/src/m/model/plot/plot_transient_results.m
===================================================================
--- /issm/trunk/src/m/model/plot/plot_transient_results.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/plot_transient_results.m	(revision 9719)
@@ -41,5 +41,5 @@
 clear string;
 
-if md.dim==3,
+if md.mesh.dimension==3,
 	string='plotmodel(md';
 	for i=1:length(md.results.transient),
@@ -67,5 +67,5 @@
 clear string;
 
-if md.dim==3,
+if md.mesh.dimension==3,
 	string='plotmodel(md';
 	for i=2:length(md.results.transient),
Index: /issm/trunk/src/m/model/plot/processdata.m
===================================================================
--- /issm/trunk/src/m/model/plot/processdata.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/processdata.m	(revision 9719)
@@ -58,5 +58,5 @@
 
 	%check length
-	if datasize(1)~=md.numberofnodes & datasize(1)~=md.numberofelements & datasize(1)~=md.numberofnodes*6 & (md.dim==3 & ~(datasize(1)==md.numberofelements2d | datasize(1)==md.numberofnodes2d))
+	if datasize(1)~=md.numberofnodes & datasize(1)~=md.numberofelements & datasize(1)~=md.numberofnodes*6 & (md.mesh.dimension==3 & ~(datasize(1)==md.numberofelements2d | datasize(1)==md.numberofnodes2d))
 		error('plotmodel error message: data not supported yet');
 	end
@@ -67,5 +67,5 @@
 
 		%check number of columns, add zeros if necessary,
-		if (md.dim==3)
+		if (md.mesh.dimension==3)
 			if datasize(2)==2,
 				data=[data, zeros(datasize(1),1)];
@@ -73,5 +73,5 @@
 				error('plotmodel error message: data provided should have 2 or 3 columns for quiver plot, and 1 for regular plot');
 			end
-		%elseif ((md.dim==2) & datasize(2)~=2),
+		%elseif ((md.mesh.dimension==2) & datasize(2)~=2),
 		%	error('plotmodel error message: data provided should have 2 columns for quiver plot, and 1 for regular plot');
 		end
@@ -89,5 +89,5 @@
 
 	%treat the case datasize(1)=nodes2d
-	if (md.dim==3 & datasize(1)==md.numberofnodes2d),
+	if (md.mesh.dimension==3 & datasize(1)==md.numberofnodes2d),
 		data=project3d(md,data,'node');
 		datasize(1)=md.numberofnodes;
@@ -96,5 +96,5 @@
 
 	%treat the case datasize(1)=nodes2d
-	if (md.dim==3 & datasize(1)==md.numberofelements2d),
+	if (md.mesh.dimension==3 & datasize(1)==md.numberofelements2d),
 		data=project3d(md,data,'element');
 		datasize(1)=md.numberofelements;
Index: /issm/trunk/src/m/model/plot/processmesh.m
===================================================================
--- /issm/trunk/src/m/model/plot/processmesh.m	(revision 9718)
+++ /issm/trunk/src/m/model/plot/processmesh.m	(revision 9719)
@@ -41,7 +41,7 @@
 
 	%is it a 2d plot?
-	if (md.dim==2);
+	if (md.mesh.dimension==2);
 		is2d=1;
-	elseif (md.dim==3),
+	elseif (md.mesh.dimension==3),
 		if getfieldvalue(options,'layer',0)>=1,
 			is2d=1;
@@ -50,5 +50,5 @@
 		end
 	else
-		error(['dim = ' num2str(md.dim) ' not supported yet']);
+		error(['dim = ' num2str(md.mesh.dimension) ' not supported yet']);
 	end
 
@@ -66,5 +66,5 @@
 else
 	%Process Patch
-	if (md.dim==2),
+	if (md.mesh.dimension==2),
 		elements=transpose(reshape(1:3*md.numberofelements,3,md.numberofelements));
 		x=transpose(reshape(md.x(data.index)',1,3*md.numberofelements));
Index: /issm/trunk/src/m/model/project3d.m
===================================================================
--- /issm/trunk/src/m/model/project3d.m	(revision 9718)
+++ /issm/trunk/src/m/model/project3d.m	(revision 9719)
@@ -23,5 +23,5 @@
 	error('bad usage');
 end
-if md.dim~=3
+if md.mesh.dimension~=3
 	error('input model is not 3d');
 end
Index: /issm/trunk/src/m/model/setflowequation.m
===================================================================
--- /issm/trunk/src/m/model/setflowequation.m	(revision 9718)
+++ /issm/trunk/src/m/model/setflowequation.m	(revision 9719)
@@ -56,5 +56,5 @@
 
 %Check that no pattyn or stokes for 2d mesh
-if (md.dim==2),
+if (md.mesh.dimension==2),
 	if any(stokesflag | pattynflag)
 		error('setflowequation error message: stokes and pattyn elements no allowed in 2d mesh, extrude it first')
Index: /issm/trunk/src/m/model/sia.m
===================================================================
--- /issm/trunk/src/m/model/sia.m	(revision 9718)
+++ /issm/trunk/src/m/model/sia.m	(revision 9719)
@@ -8,5 +8,5 @@
 %      [velx,vely,vel]=sia(md)
 
-if md.dim~=2,
+if md.mesh.dimension~=2,
 	error('Only 2d meshes are allowed to compute velocity balances');
 end
Index: /issm/trunk/src/m/model/slope.m
===================================================================
--- /issm/trunk/src/m/model/slope.m	(revision 9718)
+++ /issm/trunk/src/m/model/slope.m	(revision 9719)
@@ -6,5 +6,5 @@
 
 %load some variables (it is much faster if the variab;es are loaded from md once for all) 
-if (md.dim==2),
+if (md.mesh.dimension==2),
 	numberofelements=md.numberofelements;
 	numberofnodes=md.numberofnodes;
@@ -26,5 +26,5 @@
 s=sqrt(sx.^2+sy.^2);
 
-if md.dim==3,
+if md.mesh.dimension==3,
 	sx=project3d(md,sx,'element');
 	sy=project3d(md,sy,'element');
Index: /issm/trunk/src/m/model/tres.m
===================================================================
--- /issm/trunk/src/m/model/tres.m	(revision 9718)
+++ /issm/trunk/src/m/model/tres.m	(revision 9719)
@@ -9,5 +9,5 @@
 
 if strcmpi(string,'diagnostic'),
-	if md.dim==2,
+	if md.mesh.dimension==2,
 		if isfield(md.results.DiagnosticSolution,'VxAverage'),
 			md.initialization.vx=PatchToVec(md.results.DiagnosticSolution.VxAverage);
Index: /issm/trunk/src/m/planet/planetmixedmesh.m
===================================================================
--- /issm/trunk/src/m/planet/planetmixedmesh.m	(revision 9718)
+++ /issm/trunk/src/m/planet/planetmixedmesh.m	(revision 9719)
@@ -97,3 +97,3 @@
 md.numberofelements=size(md.elements,1);
 
-md.dim=3;
+md.mesh.dimension=3;
Index: /issm/trunk/src/m/planet/planettrimesh.m
===================================================================
--- /issm/trunk/src/m/planet/planettrimesh.m	(revision 9718)
+++ /issm/trunk/src/m/planet/planettrimesh.m	(revision 9719)
@@ -18,3 +18,3 @@
 md.numberofelements=size(md.elements,1);
 
-md.dim=3;
+md.mesh.dimension=3;
Index: /issm/trunk/src/m/utils/BC/SetIceSheetBC.m
===================================================================
--- /issm/trunk/src/m/utils/BC/SetIceSheetBC.m	(revision 9718)
+++ /issm/trunk/src/m/utils/BC/SetIceSheetBC.m	(revision 9719)
@@ -27,5 +27,5 @@
 
 %segment on neumann (Ice Front) -> none
-if (md.dim==2)
+if (md.mesh.dimension==2)
 	md.diagnostic.icefront=zeros(0,4);
 else
Index: /issm/trunk/src/m/utils/BC/SetIceShelfBC.m
===================================================================
--- /issm/trunk/src/m/utils/BC/SetIceShelfBC.m	(revision 9718)
+++ /issm/trunk/src/m/utils/BC/SetIceShelfBC.m	(revision 9719)
@@ -48,7 +48,7 @@
 %segment on Neumann (Ice Front)
 pos=find(nodeonicefront(md.mesh.segments(:,1)) | nodeonicefront(md.mesh.segments(:,2)));
-if (md.dim==2)
+if (md.mesh.dimension==2)
 	pressureload=md.mesh.segments(pos,:);
-elseif md.dim==3
+elseif md.mesh.dimension==3
 	pressureload_layer1=[md.mesh.segments(pos,1:2)  md.mesh.segments(pos,2)+md.numberofnodes2d  md.mesh.segments(pos,1)+md.numberofnodes2d  md.mesh.segments(pos,3)];
 	pressureload=[];
Index: /issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m
===================================================================
--- /issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m	(revision 9718)
+++ /issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m	(revision 9719)
@@ -58,7 +58,7 @@
 %segment on Neumann (Ice Front)
 pos=find(vertexonicefront(md.mesh.segments(:,1)) | vertexonicefront(md.mesh.segments(:,2)));
-if (md.dim==2)
+if (md.mesh.dimension==2)
 	pressureload=md.mesh.segments(pos,:);
-elseif md.dim==3
+elseif md.mesh.dimension==3
 	pressureload_layer1=[md.mesh.segments(pos,1:2)  md.mesh.segments(pos,2)+md.numberofnodes2d  md.mesh.segments(pos,1)+md.numberofnodes2d  md.mesh.segments(pos,3)];
 	pressureload=[];
Index: /issm/trunk/src/m/utils/Mesh/argusmesh.m
===================================================================
--- /issm/trunk/src/m/utils/Mesh/argusmesh.m	(revision 9718)
+++ /issm/trunk/src/m/utils/Mesh/argusmesh.m	(revision 9719)
@@ -87,5 +87,5 @@
 md.elementonbed=ones(md.numberofelements,1);
 md.elementonsurface=ones(md.numberofelements,1);
-md.dim=2;
+md.mesh.dimension=2;
 md=addnote(md,notes);
 
Index: /issm/trunk/src/m/utils/Mesh/squaremesh.m
===================================================================
--- /issm/trunk/src/m/utils/Mesh/squaremesh.m	(revision 9718)
+++ /issm/trunk/src/m/utils/Mesh/squaremesh.m	(revision 9719)
@@ -76,3 +76,3 @@
 
 %plug other field
-md.dim=2;
+md.mesh.dimension=2;
