Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 5630)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 5631)
@@ -172,8 +172,4 @@
 	CmResponseEnum,
 	CmResponsesEnum,
-	CmMaxDmpSlopeEnum,
-	CmMaxDmpValueEnum,
-	CmMinDmpSlopeEnum,
-	CmMinDmpValueEnum,
 	CmNoiseDmpEnum,
 	ConstantEnum,
Index: /issm/trunk/src/c/EnumDefinitions/EnumToString.cpp
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumToString.cpp	(revision 5630)
+++ /issm/trunk/src/c/EnumDefinitions/EnumToString.cpp	(revision 5631)
@@ -146,8 +146,4 @@
 		case CmResponseEnum : return "CmResponse";
 		case CmResponsesEnum : return "CmResponses";
-		case CmMaxDmpSlopeEnum : return "CmMaxDmpSlope";
-		case CmMaxDmpValueEnum : return "CmMaxDmpValue";
-		case CmMinDmpSlopeEnum : return "CmMinDmpSlope";
-		case CmMinDmpValueEnum : return "CmMinDmpValue";
 		case CmNoiseDmpEnum : return "CmNoiseDmp";
 		case ConstantEnum : return "Constant";
Index: /issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp	(revision 5630)
+++ /issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp	(revision 5631)
@@ -144,8 +144,4 @@
 	else if (strcmp(name,"CmResponse")==0) return CmResponseEnum;
 	else if (strcmp(name,"CmResponses")==0) return CmResponsesEnum;
-	else if (strcmp(name,"CmMaxDmpSlope")==0) return CmMaxDmpSlopeEnum;
-	else if (strcmp(name,"CmMaxDmpValue")==0) return CmMaxDmpValueEnum;
-	else if (strcmp(name,"CmMinDmpSlope")==0) return CmMinDmpSlopeEnum;
-	else if (strcmp(name,"CmMinDmpValue")==0) return CmMinDmpValueEnum;
 	else if (strcmp(name,"CmNoiseDmp")==0) return CmNoiseDmpEnum;
 	else if (strcmp(name,"Constant")==0) return ConstantEnum;
Index: /issm/trunk/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp	(revision 5630)
+++ /issm/trunk/src/c/modules/ModelProcessorx/Control/CreateParametersControl.cpp	(revision 5631)
@@ -45,8 +45,4 @@
 		parameters->AddObject(new DoubleParam(MeanVelEnum,iomodel->meanvel));
 		parameters->AddObject(new DoubleParam(CmNoiseDmpEnum,iomodel->cm_noisedmp));
-		parameters->AddObject(new DoubleParam(CmMinDmpValueEnum,iomodel->cm_mindmp_value));
-		parameters->AddObject(new DoubleParam(CmMinDmpSlopeEnum,iomodel->cm_mindmp_slope));
-		parameters->AddObject(new DoubleParam(CmMaxDmpValueEnum,iomodel->cm_maxdmp_value));
-		parameters->AddObject(new DoubleParam(CmMaxDmpSlopeEnum,iomodel->cm_maxdmp_slope));
 		parameters->AddObject(new DoubleParam(CmMinEnum,iomodel->cm_min));
 		parameters->AddObject(new DoubleParam(CmMaxEnum,iomodel->cm_max));
Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 5630)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 5631)
@@ -916,7 +916,6 @@
 void  Tria::GetSolutionFromInputs(Vec solution){
 
+	/*retrive parameters: */
 	int analysis_type;
-
-	/*retrive parameters: */
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
 	
@@ -934,9 +933,25 @@
 /*}}}*/
 /*FUNCTION Tria::GetThicknessList {{{1*/
-void Tria::GetThicknessList(double* thickness_list){
-
-	const int numvertices=3;
-	double  gaussgrids[numvertices][numvertices]={{1,0,0},{0,1,0},{0,0,1}};
-	inputs->GetParameterValues(thickness_list,&gaussgrids[0][0],3,ThicknessEnum);
+void Tria::GetThicknessList(double* thicknesslist){
+
+	Input     *thickness_input = NULL;
+	GaussTria *gauss     = NULL;
+
+	/*Recover input*/
+	thickness_input=inputs->GetInput(ThicknessEnum);
+
+	/*Checks in debugging mode*/
+	ISSMASSERT(thicknesslist);
+	ISSMASSERT(thickness_input);
+
+	/* Start looping on the number of vertices: */
+	gauss=new GaussTria();
+	for (int iv=0;iv<3;iv++){
+		gauss->GaussVertex(iv);
+		thickness_input->GetParameterValue(&thicknesslist[iv],gauss);
+	}
+
+	/*clean-up*/
+	delete gauss;
 
 }
@@ -945,10 +960,9 @@
 void  Tria::GetVectorFromInputs(Vec vector,int NameEnum){
 
-	int i;
 	const int numvertices=3;
 	int doflist1[numvertices];
 
 	/*Find NameEnum input in the inputs dataset, and get it to fill in the vector: */
-	for(i=0;i<this->inputs->Size();i++){
+	for(int i=0;i<this->inputs->Size();i++){
 		Input* input=(Input*)this->inputs->GetObjectByOffset(i);
 		if(input->EnumType()==NameEnum){
@@ -964,8 +978,6 @@
 void  Tria::Gradj(Vec gradient,int control_type){
 
-	/*inputs: */
+	/*retrieve inputs :*/
 	bool onwater;
-
-	/*retrieve inputs :*/
 	inputs->GetParameterValue(&onwater,ElementOnWaterEnum);
 
@@ -973,14 +985,17 @@
 	if(onwater)return;
 
-	if (control_type==DragCoefficientEnum){
-		GradjDrag(gradient);
-	}
-	else if (control_type==RheologyBbarEnum){
-		GradjB(gradient);
-	}
-	else if (control_type==DhDtEnum){
-		GradjDhDt(gradient);
-	}
-	else ISSMERROR("%s%i","control type not supported yet: ",control_type);
+	switch(control_type){
+		case DragCoefficientEnum:
+			GradjDrag(gradient);
+			break;
+		case RheologyBbarEnum:
+			GradjB(gradient);
+			break;
+		case DhDtEnum:
+			GradjDhDt(gradient);
+			break;
+		default:
+			ISSMERROR("%s%i","control type not supported yet: ",control_type);
+	}
 }
 /*}}}*/
@@ -988,157 +1003,76 @@
 void  Tria::GradjB(Vec gradient){
 
-	int i;
-
-	/* node data: */
+	/* constants*/
 	const int    numvertices=3;
-	const int    NDOF1=1;
 	const int    NDOF2=2;
-	const int    numdof=NDOF2*numvertices;
-	double       xyz_list[numvertices][3];
-	int          doflist1[numvertices];
-	double       dh1dh3[NDOF2][numvertices];
-
-	/* grid data: */
-	double B[numvertices];
-
-
-	/* gaussian points: */
-	int     num_gauss,ig;
-	double* first_gauss_area_coord  =  NULL;
-	double* second_gauss_area_coord =  NULL;
-	double* third_gauss_area_coord  =  NULL;
-	double* gauss_weights           =  NULL;
-	double  gauss_weight;
-	double  gauss_l1l2l3[3];
-
-	/*element vector at the gaussian points: */
-	double  grade_g[numvertices]={0.0};
-	double  grade_g_gaussian[numvertices];
-
-	/* Jacobian: */
-	double Jdet;
-
-	/*nodal functions: */
-	double l1l2l3[3];
-
-	/* strain rate: */
-	double epsilon[3]; /* epsilon=[exx,eyy,exy];*/
-
-	/* parameters: */
-	double  viscosity_complement;
-	double  dvx[NDOF2];
-	double  dvy[NDOF2]; 
-	double  dadjx[NDOF2];
-	double  dadjy[NDOF2];
-	double  vx,vy;
-	double  lambda,mu;
-	double  thickness;
-	double  dB[NDOF2]; 
-	double  B_gauss;
-	
-	/*parameters: */
-	double  cm_noisedmp;
-	double  cm_mindmp_slope;
-	double  cm_mindmp_value;
-	double  cm_maxdmp_value;
-	double  cm_maxdmp_slope;
-
-	/*inputs: */
-	Input* thickness_input=NULL;
-	Input* vx_input=NULL;
-	Input* vy_input=NULL;
-	Input* adjointx_input=NULL;
-	Input* adjointy_input=NULL;
-	Input* rheologyb_input=NULL;
+
+	/*Intermediaries*/
+	int        i,ig;
+	double     Jdet;
+	double     viscosity_complement;
+	double     vx,vy,lambda,mu,thickness;
+	double     cm_noisedmp;
+	int        doflist[numvertices];
+	double     dvx[NDOF2],dvy[NDOF2],dadjx[NDOF2],dadjy[NDOF2],dB[NDOF2]; 
+	double     xyz_list[numvertices][3];
+	double     basis[3];
+	double     dbasis[NDOF2][numvertices];
+	double     grad[numvertices]={0.0};
+	double     grad_g[numvertices];
+	double     epsilon[3]; /* epsilon=[exx,eyy,exy];*/
+	GaussTria *gauss = NULL;
 
 	/*retrieve some parameters: */
 	this->parameters->FindParam(&cm_noisedmp,CmNoiseDmpEnum);
-	this->parameters->FindParam(&cm_mindmp_value,CmMinDmpValueEnum);
-	this->parameters->FindParam(&cm_mindmp_slope,CmMinDmpSlopeEnum);
-	this->parameters->FindParam(&cm_maxdmp_value,CmMaxDmpValueEnum);
-	this->parameters->FindParam(&cm_maxdmp_slope,CmMaxDmpSlopeEnum);
 
 	/* Get node coordinates and dof list: */
 	GetVerticesCoordinates(&xyz_list[0][0], nodes, numvertices);
-	GetDofList1(&doflist1[0]);
-
-	/* Get gaussian points and weights (make this a statically initialized list of points? fstd): */
-	GaussLegendreTria( &num_gauss, &first_gauss_area_coord, &second_gauss_area_coord, &third_gauss_area_coord, &gauss_weights, 4);
-
-	/*Retrieve all inputs we will be needing: */
-	thickness_input=inputs->GetInput(ThicknessEnum);
-	vx_input=inputs->GetInput(VxEnum);
-	vy_input=inputs->GetInput(VyEnum);
-	adjointx_input=inputs->GetInput(AdjointxEnum);
-	adjointy_input=inputs->GetInput(AdjointyEnum);
-	rheologyb_input=matice->inputs->GetInput(RheologyBbarEnum);
+	GetDofList1(&doflist[0]);
+
+	/*Retrieve all inputs*/
+	Input* thickness_input=inputs->GetInput(ThicknessEnum);            ISSMASSERT(thickness_input);
+	Input* vx_input=inputs->GetInput(VxEnum);                          ISSMASSERT(vx_input);
+	Input* vy_input=inputs->GetInput(VyEnum);                          ISSMASSERT(vy_input);
+	Input* adjointx_input=inputs->GetInput(AdjointxEnum);              ISSMASSERT(adjointx_input);
+	Input* adjointy_input=inputs->GetInput(AdjointyEnum);              ISSMASSERT(adjointy_input);
+	Input* rheologyb_input=matice->inputs->GetInput(RheologyBbarEnum); ISSMASSERT(rheologyb_input);
 
 	/* Start  looping on the number of gaussian points: */
-	for (ig=0; ig<num_gauss; ig++){
-		/*Pick up the gaussian point: */
-		gauss_weight=*(gauss_weights+ig);
-		gauss_l1l2l3[0]=*(first_gauss_area_coord+ig); 
-		gauss_l1l2l3[1]=*(second_gauss_area_coord+ig);
-		gauss_l1l2l3[2]=*(third_gauss_area_coord+ig);
-
-		/*Get thickness: */
-		thickness_input->GetParameterValue(&thickness, gauss_l1l2l3);
-
-		/*Get strain rate, if velocity has been supplied: */
-		this->GetStrainRate2d(&epsilon[0],&xyz_list[0][0],gauss_l1l2l3,vx_input,vy_input);
-
-		/*Get viscosity complement: */
-		matice->GetViscosityComplement(&viscosity_complement, &epsilon[0]);
-
-		/*Get dvx, dvy, dadjx and dadjx: */
-		vx_input->GetParameterDerivativeValue(&dvx[0],&xyz_list[0][0],&gauss_l1l2l3[0]);
-		vy_input->GetParameterDerivativeValue(&dvy[0],&xyz_list[0][0],&gauss_l1l2l3[0]);
-		adjointx_input->GetParameterDerivativeValue(&dadjx[0],&xyz_list[0][0],&gauss_l1l2l3[0]);
-		adjointy_input->GetParameterDerivativeValue(&dadjy[0],&xyz_list[0][0],&gauss_l1l2l3[0]);
-
-		/* Get Jacobian determinant: */
-		GetJacobianDeterminant2d(&Jdet, &xyz_list[0][0],gauss_l1l2l3);
-
-		/* Get nodal functions value at gaussian point:*/
-		GetNodalFunctions(l1l2l3, gauss_l1l2l3);
-
-		/*Get nodal functions derivatives*/
-		GetNodalFunctionsDerivatives(&dh1dh3[0][0],&xyz_list[0][0],gauss_l1l2l3);
-
-		/*Get B derivative: dB/dx */
-		rheologyb_input->GetParameterDerivativeValue(&dB[0],&xyz_list[0][0],&gauss_l1l2l3[0]);
-		rheologyb_input->GetParameterValue(&B_gauss, gauss_l1l2l3);
-
-		/*Build gradje_g_gaussian vector (actually -dJ/dB): */
+	gauss=new GaussTria(4);
+	for (ig=gauss->begin();ig<gauss->end();ig++){
+
+		gauss->GaussPoint(ig);
+
+		thickness_input->GetParameterValue(&thickness,gauss);
+		rheologyb_input->GetParameterDerivativeValue(&dB[0],&xyz_list[0][0],gauss);
+		vx_input->GetParameterDerivativeValue(&dvx[0],&xyz_list[0][0],gauss);
+		vy_input->GetParameterDerivativeValue(&dvy[0],&xyz_list[0][0],gauss);
+		adjointx_input->GetParameterDerivativeValue(&dadjx[0],&xyz_list[0][0],gauss);
+		adjointy_input->GetParameterDerivativeValue(&dadjy[0],&xyz_list[0][0],gauss);
+
+		this->GetStrainRate2d(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input);
+		matice->GetViscosityComplement(&viscosity_complement,&epsilon[0]);
+
+		GetJacobianDeterminant2d(&Jdet, &xyz_list[0][0],gauss);
+		GetNodalFunctions(basis,gauss);
+		GetNodalFunctionsDerivatives(&dbasis[0][0],&xyz_list[0][0],gauss);
+
+		/*standard gradient dJ/dki*/
 		for (i=0;i<numvertices;i++){
-			//standard gradient dJ/dki
-			grade_g_gaussian[i]=-viscosity_complement*thickness*( (2*dvx[0]+dvy[1])*2*dadjx[0]+(dvx[1]+dvy[0])*(dadjx[1]+dadjy[0])+(2*dvy[1]+dvx[0])*2*dadjy[1])*Jdet*gauss_weight*l1l2l3[i]; 
-
-			//Add regularization term
-			grade_g_gaussian[i]-=cm_noisedmp*Jdet*gauss_weight*(dh1dh3[0][i]*dB[0]+dh1dh3[1][i]*dB[1]);
-
-			//min dampening
-			if(B_gauss<cm_mindmp_value){ 
-				grade_g_gaussian[i]+= cm_mindmp_slope*Jdet*gauss_weight*l1l2l3[i];
-			}
-
-			//max dampening
-			if(B_gauss>cm_maxdmp_value){ 
-				grade_g_gaussian[i]+= - cm_maxdmp_slope*Jdet*gauss_weight*l1l2l3[i];
-			}
-
+			grad_g[i]=-viscosity_complement*thickness*( (2*dvx[0]+dvy[1])*2*dadjx[0]+(dvx[1]+dvy[0])*(dadjx[1]+dadjy[0])+(2*dvy[1]+dvx[0])*2*dadjy[1])*Jdet*gauss->weight*basis[i]; 
 		}
-
-		/*Add grade_g_gaussian to grade_g: */
-		for( i=0; i<numvertices;i++) grade_g[i]+=grade_g_gaussian[i];
+		/*Add regularization term*/
+		for (i=0;i<numvertices;i++){
+			grad_g[i]-=cm_noisedmp*Jdet*gauss->weight*(dbasis[0][i]*dB[0]+dbasis[1][i]*dB[1]);
+		}
+
+		for(i=0;i<numvertices;i++) grad[i]+=grad_g[i];
 	}
 
 	/*Add grade_g to global vector gradient: */
-	VecSetValues(gradient,numvertices,doflist1,(const double*)grade_g,ADD_VALUES);
-
-	xfree((void**)&first_gauss_area_coord);
-	xfree((void**)&second_gauss_area_coord);
-	xfree((void**)&third_gauss_area_coord);
-	xfree((void**)&gauss_weights);
+	VecSetValues(gradient,numvertices,doflist,(const double*)grad,ADD_VALUES);
+
+	/*clean-up*/
+	delete gauss;
 }
 /*}}}*/
@@ -1151,5 +1085,4 @@
 	const int    numvertices=3;
 	const int    NDOF2=2;
-	const int    numdof=NDOF2*numvertices;
 	double       xyz_list[numvertices][3];
 	int          doflist1[numvertices];
@@ -1200,8 +1133,4 @@
 	/*parameters: */
 	double  cm_noisedmp;
-	double  cm_mindmp_slope;
-	double  cm_mindmp_value;
-	double  cm_maxdmp_value;
-	double  cm_maxdmp_slope;
 
 	int analysis_type;
@@ -1215,8 +1144,4 @@
 	/*retrieve some parameters: */
 	this->parameters->FindParam(&cm_noisedmp,CmNoiseDmpEnum);
-	this->parameters->FindParam(&cm_mindmp_value,CmMinDmpValueEnum);
-	this->parameters->FindParam(&cm_mindmp_slope,CmMinDmpSlopeEnum);
-	this->parameters->FindParam(&cm_maxdmp_value,CmMaxDmpValueEnum);
-	this->parameters->FindParam(&cm_maxdmp_slope,CmMaxDmpSlopeEnum);
 
 	/*Get out if shelf*/
@@ -1290,14 +1215,4 @@
 			//noise dampening d/dki(1/2*(dk/dx)^2)
 			grade_g_gaussian[i]+=-cm_noisedmp*Jdet*gauss_weight*(dh1dh3[0][i]*dk[0]+dh1dh3[1][i]*dk[1]);
-			
-			//min dampening
-			if(drag<cm_mindmp_value){ 
-				grade_g_gaussian[i]+=cm_mindmp_slope*Jdet*gauss_weight*l1l2l3[i];
-			}
-
-			//max dampening
-			if(drag>cm_maxdmp_value){ 
-				grade_g_gaussian[i]+= - cm_maxdmp_slope*Jdet*gauss_weight*l1l2l3[i];
-			}
 		}
 		
@@ -1324,5 +1239,4 @@
 	/* node data: */
 	const int    numvertices=3;
-	const int    NDOF1=1;
 	int          doflist1[numvertices];
 
@@ -6686,6 +6600,32 @@
 }
 /*}}}*/
-/*FUNCTION Tria::GetStrainRate2d{{{1*/
+/*FUNCTION Tria::GetStrainRate2d(double* epsilon,double* xyz_list, double* gauss, Input* vx_input, Input* vy_input){{{1*/
 void Tria::GetStrainRate2d(double* epsilon,double* xyz_list, double* gauss, Input* vx_input, Input* vy_input){
+	/*Compute the 2d Strain Rate (3 components):
+	 *
+	 * epsilon=[exx eyy exy]
+	 */
+
+	int i;
+
+	double epsilonvx[3];
+	double epsilonvy[3];
+
+	/*Check that both inputs have been found*/
+	if (!vx_input || !vy_input){
+		ISSMERROR("Input missing. Here are the input pointers we have for vx: %p, vy: %p\n",vx_input,vy_input);
+	}
+
+	/*Get strain rate assuming that epsilon has been allocated*/
+	vx_input->GetVxStrainRate2d(epsilonvx,xyz_list,gauss);
+	vy_input->GetVyStrainRate2d(epsilonvy,xyz_list,gauss);
+
+	/*Sum all contributions*/
+	for(i=0;i<3;i++) epsilon[i]=epsilonvx[i]+epsilonvy[i];
+
+}
+/*}}}*/
+/*FUNCTION Tria::GetStrainRate2d(double* epsilon,double* xyz_list, GaussTria* gauss, Input* vx_input, Input* vy_input){{{1*/
+void Tria::GetStrainRate2d(double* epsilon,double* xyz_list, GaussTria* gauss, Input* vx_input, Input* vy_input){
 	/*Compute the 2d Strain Rate (3 components):
 	 *
@@ -6766,8 +6706,4 @@
 	/*parameters: */
 	double  cm_noisedmp;
-	double  cm_mindmp_slope;
-	double  cm_mindmp_value;
-	double  cm_maxdmp_value;
-	double  cm_maxdmp_slope;
 
 	int analysis_type;
@@ -6782,8 +6718,4 @@
 	/*retrieve some parameters: */
 	this->parameters->FindParam(&cm_noisedmp,CmNoiseDmpEnum);
-	this->parameters->FindParam(&cm_mindmp_value,CmMinDmpValueEnum);
-	this->parameters->FindParam(&cm_mindmp_slope,CmMinDmpSlopeEnum);
-	this->parameters->FindParam(&cm_maxdmp_value,CmMaxDmpValueEnum);
-	this->parameters->FindParam(&cm_maxdmp_slope,CmMaxDmpSlopeEnum);
 
 	/*Get out if shelf*/
@@ -6854,14 +6786,4 @@
 			//Add regularization term
 			grade_g_gaussian[i]+= - cm_noisedmp*Jdet*gauss_weight*(dh1dh3[0][i]*dk[0]+dh1dh3[1][i]*dk[1]);
-
-			//min dampening
-			if(drag<cm_mindmp_value){ 
-				grade_g_gaussian[i]+= cm_mindmp_slope*Jdet*gauss_weight*l1l2l3[i];
-			}
-
-			//max dampening
-			if(drag>cm_maxdmp_value){ 
-				grade_g_gaussian[i]+= - cm_maxdmp_slope*Jdet*gauss_weight*l1l2l3[i];
-			}
 		}
 
Index: /issm/trunk/src/c/objects/Elements/Tria.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.h	(revision 5630)
+++ /issm/trunk/src/c/objects/Elements/Tria.h	(revision 5631)
@@ -162,4 +162,5 @@
 		void	  GetSolutionFromInputsDiagnosticHutter(Vec solution);
 		void    GetStrainRate2d(double* epsilon,double* xyz_list, double* gauss, Input* vx_input, Input* vy_input);
+		void    GetStrainRate2d(double* epsilon,double* xyz_list, GaussTria* gauss, Input* vx_input, Input* vy_input);
 		void	  GradjDragStokes(Vec gradient);
 		void	  InputUpdateFromSolutionAdjointBalancedthickness( double* solution);
Index: /issm/trunk/src/c/objects/Elements/TriaRef.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/TriaRef.cpp	(revision 5630)
+++ /issm/trunk/src/c/objects/Elements/TriaRef.cpp	(revision 5631)
@@ -54,4 +54,38 @@
 /*FUNCTION TriaRef::GetBMacAyeal {{{1*/
 void TriaRef::GetBMacAyeal(double* B, double* xyz_list, double* gauss){
+	/*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 
+	 * For grid i, Bi can be expressed in the actual coordinate system
+	 * by: 
+	 *       Bi=[ dh/dx           0    ]
+	 *          [   0           dh/dy  ]
+	 *          [ 1/2*dh/dy  1/2*dh/dx ]
+	 * where h is the interpolation function for grid i.
+	 *
+	 * We assume B has been allocated already, of size: 3x(NDOF2*numgrids)
+	 */
+
+	int i;
+	const int NDOF2=2;
+	const int numgrids=3;
+
+	double dh1dh3[NDOF2][numgrids];
+
+
+	/*Get dh1dh2dh3 in actual coordinate system: */
+	GetNodalFunctionsDerivatives(&dh1dh3[0][0],xyz_list,gauss);
+
+	/*Build B: */
+	for (i=0;i<numgrids;i++){
+		*(B+NDOF2*numgrids*0+NDOF2*i)=dh1dh3[0][i]; //B[0][NDOF2*i]=dh1dh3[0][i];
+		*(B+NDOF2*numgrids*0+NDOF2*i+1)=0;
+		*(B+NDOF2*numgrids*1+NDOF2*i)=0;
+		*(B+NDOF2*numgrids*1+NDOF2*i+1)=dh1dh3[1][i];
+		*(B+NDOF2*numgrids*2+NDOF2*i)=(float).5*dh1dh3[1][i]; 
+		*(B+NDOF2*numgrids*2+NDOF2*i+1)=(float).5*dh1dh3[0][i]; 
+	}
+}
+/*}}}*/
+/*FUNCTION TriaRef::GetBMacAyeal {{{1*/
+void TriaRef::GetBMacAyeal(double* B, double* xyz_list, GaussTria* gauss){
 	/*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 
 	 * For grid i, Bi can be expressed in the actual coordinate system
Index: /issm/trunk/src/c/objects/Elements/TriaRef.h
===================================================================
--- /issm/trunk/src/c/objects/Elements/TriaRef.h	(revision 5630)
+++ /issm/trunk/src/c/objects/Elements/TriaRef.h	(revision 5631)
@@ -26,4 +26,5 @@
 		/*Numerics*/
 		void GetBMacAyeal(double* B, double* xyz_list, double* gauss);
+		void GetBMacAyeal(double* B, double* xyz_list, GaussTria* gauss);
 		void GetBprimeMacAyeal(double* Bprime, double* xyz_list, double* gauss);
 		void GetBprimePrognostic(double* Bprime_prog, double* xyz_list, double* gauss);
Index: /issm/trunk/src/c/objects/Inputs/BoolInput.h
===================================================================
--- /issm/trunk/src/c/objects/Inputs/BoolInput.h	(revision 5630)
+++ /issm/trunk/src/c/objects/Inputs/BoolInput.h	(revision 5631)
@@ -60,4 +60,11 @@
 		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, double* gauss){ISSMERROR("not implemented yet");};
 		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, double* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 		void SquareMin(double* psquaremin, bool process_units,Parameters* parameters);
Index: /issm/trunk/src/c/objects/Inputs/DoubleInput.h
===================================================================
--- /issm/trunk/src/c/objects/Inputs/DoubleInput.h	(revision 5630)
+++ /issm/trunk/src/c/objects/Inputs/DoubleInput.h	(revision 5631)
@@ -59,4 +59,11 @@
 		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, double* gauss){ISSMERROR("not implemented yet");};
 		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, double* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 		void SquareMin(double* psquaremin, bool process_units,Parameters* parameters);
Index: /issm/trunk/src/c/objects/Inputs/Input.h
===================================================================
--- /issm/trunk/src/c/objects/Inputs/Input.h	(revision 5630)
+++ /issm/trunk/src/c/objects/Inputs/Input.h	(revision 5631)
@@ -38,4 +38,11 @@
 		virtual void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, double* gauss)=0;
 		virtual void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, double* gauss)=0;
+		virtual void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss)=0;
+		virtual void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss)=0;
+		virtual void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, GaussTria* gauss)=0;
+		virtual void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, GaussTria* gauss)=0;
+		virtual void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, GaussTria* gauss)=0;
+		virtual void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, GaussTria* gauss)=0;
+		virtual void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, GaussTria* gauss)=0;
 		virtual void ChangeEnum(int newenumtype)=0;
 
Index: /issm/trunk/src/c/objects/Inputs/IntInput.h
===================================================================
--- /issm/trunk/src/c/objects/Inputs/IntInput.h	(revision 5630)
+++ /issm/trunk/src/c/objects/Inputs/IntInput.h	(revision 5631)
@@ -60,4 +60,11 @@
 		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, double* gauss){ISSMERROR("not implemented yet");};
 		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, double* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 		void SquareMin(double* psquaremin, bool process_units,Parameters* parameters);
Index: /issm/trunk/src/c/objects/Inputs/PentaVertexInput.h
===================================================================
--- /issm/trunk/src/c/objects/Inputs/PentaVertexInput.h	(revision 5630)
+++ /issm/trunk/src/c/objects/Inputs/PentaVertexInput.h	(revision 5631)
@@ -60,4 +60,11 @@
 		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, double* gauss);
 		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, double* gauss);
+		void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 
Index: /issm/trunk/src/c/objects/Inputs/TriaVertexInput.cpp
===================================================================
--- /issm/trunk/src/c/objects/Inputs/TriaVertexInput.cpp	(revision 5630)
+++ /issm/trunk/src/c/objects/Inputs/TriaVertexInput.cpp	(revision 5631)
@@ -261,4 +261,52 @@
 }
 /*}}}*/
+/*FUNCTION TriaVertexInput::GetVxStrainRate2d{{{1*/
+void TriaVertexInput::GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss){
+
+	/*Intermediary*/
+	int       i;
+	const int numgrids=3;
+	const int NDOF2=2;
+	double B[3][NDOF2*numgrids];
+	double velocity[3][NDOF2];
+
+	/*Get B matrix: */
+	GetBMacAyeal(&B[0][0], xyz_list, gauss);
+
+	/*Here, we are computing the strain rate of (vx,0)*/
+	for(i=0;i<3;i++){
+		velocity[i][0]=this->values[i];
+		velocity[i][1]=0.0;
+	}
+	/*Get epsilon(vx) = B*velocity*/
+	MatrixMultiply( &B[0][0],3,NDOF2*numgrids,0,
+				&velocity[0][0],NDOF2*numgrids,1,0,
+				epsilonvx,0);
+}
+/*}}}*/
+/*FUNCTION TriaVertexInput::GetVyStrainRate2d{{{1*/
+void TriaVertexInput::GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss){
+
+	/*Intermediary*/
+	int       i;
+	const int numgrids=3;
+	const int NDOF2=2;
+	double B[3][NDOF2*numgrids];
+	double velocity[3][NDOF2];
+
+	/*Get B matrix: */
+	GetBMacAyeal(&B[0][0], xyz_list, gauss);
+
+	/*Here, we are computing the strain rate of (0,vy)*/
+	for(i=0;i<3;i++){
+		velocity[i][0]=0.0;
+		velocity[i][1]=this->values[i];
+	}
+	/*Get epsilon(vy) = B*velocity*/
+	MatrixMultiply( &B[0][0],3,NDOF2*numgrids,0,
+				&velocity[0][0],NDOF2*numgrids,1,0,
+				epsilonvy,0);
+}
+/*}}}*/
 /*FUNCTION TriaVertexInput::ChangeEnum{{{1*/
 void TriaVertexInput::ChangeEnum(int newenumtype){
Index: /issm/trunk/src/c/objects/Inputs/TriaVertexInput.h
===================================================================
--- /issm/trunk/src/c/objects/Inputs/TriaVertexInput.h	(revision 5630)
+++ /issm/trunk/src/c/objects/Inputs/TriaVertexInput.h	(revision 5631)
@@ -60,4 +60,11 @@
 		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, double* gauss){ISSMERROR("not implemented yet");};
 		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, double* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss);
+		void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss);
+		void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
+		void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, GaussTria* gauss){ISSMERROR("not implemented yet");};
 		void ChangeEnum(int newenumtype);
 
Index: /issm/trunk/src/c/objects/IoModel.cpp
===================================================================
--- /issm/trunk/src/c/objects/IoModel.cpp	(revision 5630)
+++ /issm/trunk/src/c/objects/IoModel.cpp	(revision 5631)
@@ -167,8 +167,4 @@
 	IoModelFetchData(&this->tolx,iomodel_handle,"tolx");
 	IoModelFetchData(&this->cm_noisedmp,iomodel_handle,"cm_noisedmp");
-	IoModelFetchData(&this->cm_mindmp_value,iomodel_handle,"cm_mindmp_value");
-	IoModelFetchData(&this->cm_mindmp_slope,iomodel_handle,"cm_mindmp_slope");
-	IoModelFetchData(&this->cm_maxdmp_value,iomodel_handle,"cm_maxdmp_value");
-	IoModelFetchData(&this->cm_maxdmp_slope,iomodel_handle,"cm_maxdmp_slope");
 	IoModelFetchData(&this->cm_min,iomodel_handle,"cm_min");
 	IoModelFetchData(&this->cm_max,iomodel_handle,"cm_max");
@@ -310,8 +306,4 @@
 	this->maxiter=NULL;
 	this->cm_noisedmp=0;
-	this->cm_mindmp_value=0;
-	this->cm_mindmp_slope=0;
-	this->cm_maxdmp_value=0;
-	this->cm_maxdmp_slope=0;
 	this->cm_min=0;
 	this->cm_max=0;
Index: /issm/trunk/src/c/objects/IoModel.h
===================================================================
--- /issm/trunk/src/c/objects/IoModel.h	(revision 5630)
+++ /issm/trunk/src/c/objects/IoModel.h	(revision 5631)
@@ -115,8 +115,4 @@
 		double  stokesreconditioning;
 		double  cm_noisedmp;
-		double  cm_mindmp_value;
-		double  cm_mindmp_slope;
-		double  cm_maxdmp_value;
-		double  cm_maxdmp_slope;
 		double  cm_min;
 		double  cm_max;
Index: /issm/trunk/src/m/classes/@model/model.m
===================================================================
--- /issm/trunk/src/m/classes/@model/model.m	(revision 5630)
+++ /issm/trunk/src/m/classes/@model/model.m	(revision 5631)
@@ -204,8 +204,4 @@
 	md.eps_cm=0;
 	md.cm_noisedmp=0;
-	md.cm_mindmp_value=0;
-	md.cm_mindmp_slope=0;
-	md.cm_maxdmp_value=0;
-	md.cm_maxdmp_slope=0;
 	md.cm_min=0;
 	md.cm_max=0;
Index: /issm/trunk/src/m/classes/@model/setdefaultparameters.m
===================================================================
--- /issm/trunk/src/m/classes/@model/setdefaultparameters.m	(revision 5630)
+++ /issm/trunk/src/m/classes/@model/setdefaultparameters.m	(revision 5631)
@@ -191,14 +191,4 @@
 md.cm_jump=.7*ones(md.nsteps,1); %30 per cent decrement.
 
-%cm_mindampening stabilize the inversed parameter above
-%a given scalar with a given penalty. Not applied by default
-md.cm_mindmp_value=0;
-md.cm_mindmp_slope=0;
-
-%cm_maxdampening stabilize the inversed parameter below
-%a given scalar with a given penalty. Not applied by default
-md.cm_maxdmp_value=150;
-md.cm_maxdmp_value=0;
-
 %cm_min is the minimum acceptable value of the
 %inversed parameter (B>0 for example)
Index: /issm/trunk/src/m/classes/public/display/displaycontrol.m
===================================================================
--- /issm/trunk/src/m/classes/public/display/displaycontrol.m	(revision 5630)
+++ /issm/trunk/src/m/classes/public/display/displaycontrol.m	(revision 5631)
@@ -21,8 +21,4 @@
 	fielddisplay(md,'cm_jump','decrease threshold for misfit, default is 30%');
 	fielddisplay(md,'cm_noisedmp','noise dampening coefficient, 0 if not applied');
-	fielddisplay(md,'cm_mindmp_value','minimum acceptable value of the inversed parameter before being dampened');
-	fielddisplay(md,'cm_mindmp_slope','dampening coefficient applied to parameter below minimum, 0 if not applied');
-	fielddisplay(md,'cm_maxdmp_value','maximum acceptable value of the inversed parameter before being dampened');
-	fielddisplay(md,'cm_maxdmp_slope','dampening coefficient applied to parameter above maximum, 0 if not applied');
 	fielddisplay(md,'cm_min','absolute minimum acceptable value of the inversed parameter');
 	fielddisplay(md,'cm_max','absolute maximum acceptable value of the inversed parameter');
Index: /issm/trunk/src/m/classes/public/marshall.m
===================================================================
--- /issm/trunk/src/m/classes/public/marshall.m	(revision 5630)
+++ /issm/trunk/src/m/classes/public/marshall.m	(revision 5631)
@@ -118,8 +118,4 @@
 WriteData(fid,md.maxiter,'Mat','maxiter');
 WriteData(fid,md.cm_noisedmp,'Scalar','cm_noisedmp');
-WriteData(fid,md.cm_mindmp_value,'Scalar','cm_mindmp_value');
-WriteData(fid,md.cm_mindmp_slope,'Scalar','cm_mindmp_slope');
-WriteData(fid,md.cm_maxdmp_value,'Scalar','cm_maxdmp_value');
-WriteData(fid,md.cm_maxdmp_slope,'Scalar','cm_maxdmp_slope');
 WriteData(fid,md.cm_min,'Scalar','cm_min');
 WriteData(fid,md.cm_max,'Scalar','cm_max');
Index: /issm/trunk/src/m/classes/public/parametercontroloptimization.m
===================================================================
--- /issm/trunk/src/m/classes/public/parametercontroloptimization.m	(revision 5630)
+++ /issm/trunk/src/m/classes/public/parametercontroloptimization.m	(revision 5631)
@@ -30,6 +30,4 @@
 md2.eps_cm=NaN;
 md2.cm_noisedmp=0;
-md2.cm_maxdmp_slope=0;
-md2.cm_mindmp_slope=0;
 md2.nsteps=getfieldvalue(options,'nsteps',5);
 md2.control_type=getfieldvalue(options,'md2.control_type',DragCoefficientEnum);
Index: /issm/trunk/src/m/classes/public/parameterization/parametercontrolB.m
===================================================================
--- /issm/trunk/src/m/classes/public/parameterization/parametercontrolB.m	(revision 5630)
+++ /issm/trunk/src/m/classes/public/parameterization/parametercontrolB.m	(revision 5631)
@@ -13,5 +13,4 @@
 %      md=parametercontrolB(md,'nsteps',20,'cm_noisedmp',10^-15,'cm_responses',0)
 %      md=parametercontrolB(md,'cm_min',10,'cm_max',10^8,'cm_jump',0.99,'maxiter',20)
-%      md=parametercontrolB(md,'cm_maxdmp_value',5*10^8,'cm_maxdmp_slope',10^-20,,'cm_mindmp_value',10^7,'cm_mindmp_slope',10^-17)
 %      md=parametercontrolB(md,eps_cm',10^-4,'optscal',[10^7 10^8])
 %
@@ -78,18 +77,4 @@
 end
 
-%cm_mindmp
-cm_mindmp_value=getfieldvalue(options,'cm_mindmp_value',5*10^7); %=paterson(273.15)
-if (length(cm_mindmp_value)~=1)
-	md.cm_mindmp_value=5*10^7;
-else
-	md.cm_mindmp_value=cm_mindmp_value;
-end
-cm_mindmp_slope=getfieldvalue(options,'cm_mindmp_slope',10^-18);
-if (length(cm_mindmp_slope)~=1)
-	md.cm_mindmp_slope=10^-18;
-else
-	md.cm_mindmp_slope=cm_mindmp_slope;
-end
-
 %eps_cm
 eps_cm=getfieldvalue(options,'eps_cm',NaN);
Index: /issm/trunk/src/m/classes/public/parameterization/parametercontroldrag.m
===================================================================
--- /issm/trunk/src/m/classes/public/parameterization/parametercontroldrag.m	(revision 5630)
+++ /issm/trunk/src/m/classes/public/parameterization/parametercontroldrag.m	(revision 5631)
@@ -13,5 +13,4 @@
 %      md=parametercontroldrag(md,'nsteps',20,'cm_noisedmp',10^-8,'cm_responses',0)
 %      md=parametercontroldrag(md,'cm_min',1,'cm_max',150,'cm_jump',0.99,'maxiter',20)
-%      md=parametercontroldrag(md,'cm_maxdmp_value',100,'cm_maxdmp_slope',10^-13,,'cm_mindmp_value',10,'cm_mindmp_slope',10^-17)
 %      md=parametercontroldrag(md,eps_cm',10^-4,'optscal',[10^7 10^8])
 %
@@ -78,18 +77,4 @@
 end
 
-%cm_mindmp
-cm_mindmp_value=getfieldvalue(options,'cm_mindmp_value',1);
-if (length(cm_mindmp_value)~=1)
-	md.cm_mindmp_value=1;
-else
-	md.cm_mindmp_value=cm_mindmp_value;
-end
-cm_mindmp_slope=getfieldvalue(options,'cm_mindmp_slope',0);
-if (length(cm_mindmp_slope)~=1)
-	md.cm_mindmp_slope=0;
-else
-	md.cm_mindmp_slope=cm_mindmp_slope;
-end
-
 %eps_cm
 eps_cm=getfieldvalue(options,'eps_cm',NaN);
Index: /issm/trunk/src/m/enum/AbsoluteEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AbsoluteEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/AbsoluteEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=AbsoluteEnum()
 
-macro=247;
+macro=243;
Index: /issm/trunk/src/m/enum/AdjointEnum.m
===================================================================
--- /issm/trunk/src/m/enum/AdjointEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/AdjointEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=AdjointEnum()
 
-macro=262;
+macro=258;
Index: /issm/trunk/src/m/enum/BetaEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BetaEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/BetaEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=BetaEnum()
 
-macro=257;
+macro=253;
Index: /issm/trunk/src/m/enum/BoolExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/BoolExternalResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/BoolExternalResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=BoolExternalResultEnum()
 
-macro=221;
+macro=217;
Index: /issm/trunk/src/m/enum/CmGradientEnum.m
===================================================================
--- /issm/trunk/src/m/enum/CmGradientEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/CmGradientEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=CmGradientEnum()
 
-macro=258;
+macro=254;
Index: /issm/trunk/src/m/enum/CmJumpEnum.m
===================================================================
--- /issm/trunk/src/m/enum/CmJumpEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/CmJumpEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=CmJumpEnum()
 
-macro=259;
+macro=255;
Index: /issm/trunk/src/m/enum/CmMaxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/CmMaxEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/CmMaxEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=CmMaxEnum()
 
-macro=260;
+macro=256;
Index: /issm/trunk/src/m/enum/CmMinEnum.m
===================================================================
--- /issm/trunk/src/m/enum/CmMinEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/CmMinEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=CmMinEnum()
 
-macro=261;
+macro=257;
Index: /issm/trunk/src/m/enum/CmNoiseDmpEnum.m
===================================================================
--- /issm/trunk/src/m/enum/CmNoiseDmpEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/CmNoiseDmpEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=CmNoiseDmpEnum()
 
-macro=134;
+macro=130;
Index: /issm/trunk/src/m/enum/ColinearEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ColinearEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ColinearEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ColinearEnum()
 
-macro=255;
+macro=251;
Index: /issm/trunk/src/m/enum/ConnectivityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ConnectivityEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ConnectivityEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ConnectivityEnum()
 
-macro=265;
+macro=261;
Index: /issm/trunk/src/m/enum/ConstantEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ConstantEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ConstantEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ConstantEnum()
 
-macro=135;
+macro=131;
Index: /issm/trunk/src/m/enum/ControlParameterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ControlParameterEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ControlParameterEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ControlParameterEnum()
 
-macro=266;
+macro=262;
Index: /issm/trunk/src/m/enum/ControlSteadyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ControlSteadyEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ControlSteadyEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ControlSteadyEnum()
 
-macro=267;
+macro=263;
Index: /issm/trunk/src/m/enum/ControlTypeEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ControlTypeEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ControlTypeEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ControlTypeEnum()
 
-macro=136;
+macro=132;
Index: /issm/trunk/src/m/enum/ConvergedEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ConvergedEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ConvergedEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ConvergedEnum()
 
-macro=137;
+macro=133;
Index: /issm/trunk/src/m/enum/DakotaParameterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DakotaParameterEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DakotaParameterEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DakotaParameterEnum()
 
-macro=268;
+macro=264;
Index: /issm/trunk/src/m/enum/DhDtEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DhDtEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DhDtEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DhDtEnum()
 
-macro=138;
+macro=134;
Index: /issm/trunk/src/m/enum/DimEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DimEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DimEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DimEnum()
 
-macro=269;
+macro=265;
Index: /issm/trunk/src/m/enum/DoubleElementResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DoubleElementResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DoubleElementResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DoubleElementResultEnum()
 
-macro=218;
+macro=214;
Index: /issm/trunk/src/m/enum/DoubleExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DoubleExternalResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DoubleExternalResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DoubleExternalResultEnum()
 
-macro=222;
+macro=218;
Index: /issm/trunk/src/m/enum/DoubleMatExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DoubleMatExternalResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DoubleMatExternalResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DoubleMatExternalResultEnum()
 
-macro=224;
+macro=220;
Index: /issm/trunk/src/m/enum/DoubleVecExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DoubleVecExternalResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DoubleVecExternalResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DoubleVecExternalResultEnum()
 
-macro=223;
+macro=219;
Index: /issm/trunk/src/m/enum/DragCoefficientEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DragCoefficientEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DragCoefficientEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DragCoefficientEnum()
 
-macro=139;
+macro=135;
Index: /issm/trunk/src/m/enum/DragPEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DragPEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DragPEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DragPEnum()
 
-macro=140;
+macro=136;
Index: /issm/trunk/src/m/enum/DragQEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DragQEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DragQEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DragQEnum()
 
-macro=141;
+macro=137;
Index: /issm/trunk/src/m/enum/DragTypeEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DragTypeEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DragTypeEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DragTypeEnum()
 
-macro=142;
+macro=138;
Index: /issm/trunk/src/m/enum/DtEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DtEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/DtEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=DtEnum()
 
-macro=143;
+macro=139;
Index: /issm/trunk/src/m/enum/ElementOnBedEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementOnBedEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ElementOnBedEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ElementOnBedEnum()
 
-macro=144;
+macro=140;
Index: /issm/trunk/src/m/enum/ElementOnIceShelfEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementOnIceShelfEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ElementOnIceShelfEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ElementOnIceShelfEnum()
 
-macro=145;
+macro=141;
Index: /issm/trunk/src/m/enum/ElementOnSurfaceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementOnSurfaceEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ElementOnSurfaceEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ElementOnSurfaceEnum()
 
-macro=146;
+macro=142;
Index: /issm/trunk/src/m/enum/ElementOnWaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ElementOnWaterEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ElementOnWaterEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ElementOnWaterEnum()
 
-macro=147;
+macro=143;
Index: /issm/trunk/src/m/enum/EnumToString.m
===================================================================
--- /issm/trunk/src/m/enum/EnumToString.m	(revision 5630)
+++ /issm/trunk/src/m/enum/EnumToString.m	(revision 5631)
@@ -141,8 +141,4 @@
 case CmResponseEnum(), string='CmResponse'; return
 case CmResponsesEnum(), string='CmResponses'; return
-case CmMaxDmpSlopeEnum(), string='CmMaxDmpSlope'; return
-case CmMaxDmpValueEnum(), string='CmMaxDmpValue'; return
-case CmMinDmpSlopeEnum(), string='CmMinDmpSlope'; return
-case CmMinDmpValueEnum(), string='CmMinDmpValue'; return
 case CmNoiseDmpEnum(), string='CmNoiseDmp'; return
 case ConstantEnum(), string='Constant'; return
Index: /issm/trunk/src/m/enum/EpsAbsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/EpsAbsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/EpsAbsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=EpsAbsEnum()
 
-macro=270;
+macro=266;
Index: /issm/trunk/src/m/enum/EpsCmEnum.m
===================================================================
--- /issm/trunk/src/m/enum/EpsCmEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/EpsCmEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=EpsCmEnum()
 
-macro=271;
+macro=267;
Index: /issm/trunk/src/m/enum/EpsRelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/EpsRelEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/EpsRelEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=EpsRelEnum()
 
-macro=272;
+macro=268;
Index: /issm/trunk/src/m/enum/EpsResEnum.m
===================================================================
--- /issm/trunk/src/m/enum/EpsResEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/EpsResEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=EpsResEnum()
 
-macro=273;
+macro=269;
Index: /issm/trunk/src/m/enum/EpsVelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/EpsVelEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/EpsVelEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=EpsVelEnum()
 
-macro=148;
+macro=144;
Index: /issm/trunk/src/m/enum/ExtToIuEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ExtToIuEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ExtToIuEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ExtToIuEnum()
 
-macro=156;
+macro=152;
Index: /issm/trunk/src/m/enum/FillEnum.m
===================================================================
--- /issm/trunk/src/m/enum/FillEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/FillEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=FillEnum()
 
-macro=149;
+macro=145;
Index: /issm/trunk/src/m/enum/FractionIncrementEnum.m
===================================================================
--- /issm/trunk/src/m/enum/FractionIncrementEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/FractionIncrementEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=FractionIncrementEnum()
 
-macro=150;
+macro=146;
Index: /issm/trunk/src/m/enum/FrictionEnum.m
===================================================================
--- /issm/trunk/src/m/enum/FrictionEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/FrictionEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=FrictionEnum()
 
-macro=151;
+macro=147;
Index: /issm/trunk/src/m/enum/GeothermalFluxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/GeothermalFluxEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/GeothermalFluxEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=GeothermalFluxEnum()
 
-macro=152;
+macro=148;
Index: /issm/trunk/src/m/enum/GradientEnum.m
===================================================================
--- /issm/trunk/src/m/enum/GradientEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/GradientEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=GradientEnum()
 
-macro=263;
+macro=259;
Index: /issm/trunk/src/m/enum/GravityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/GravityEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/GravityEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=GravityEnum()
 
-macro=250;
+macro=246;
Index: /issm/trunk/src/m/enum/HeatCapacityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/HeatCapacityEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/HeatCapacityEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=HeatCapacityEnum()
 
-macro=274;
+macro=270;
Index: /issm/trunk/src/m/enum/IndexEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IndexEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/IndexEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=IndexEnum()
 
-macro=306;
+macro=302;
Index: /issm/trunk/src/m/enum/IndexedEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IndexedEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/IndexedEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=IndexedEnum()
 
-macro=304;
+macro=300;
Index: /issm/trunk/src/m/enum/IntExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IntExternalResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/IntExternalResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=IntExternalResultEnum()
 
-macro=225;
+macro=221;
Index: /issm/trunk/src/m/enum/InternalEnum.m
===================================================================
--- /issm/trunk/src/m/enum/InternalEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/InternalEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=InternalEnum()
 
-macro=153;
+macro=149;
Index: /issm/trunk/src/m/enum/IntersectEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IntersectEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/IntersectEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=IntersectEnum()
 
-macro=254;
+macro=250;
Index: /issm/trunk/src/m/enum/IsHutterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IsHutterEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/IsHutterEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=IsHutterEnum()
 
-macro=275;
+macro=271;
Index: /issm/trunk/src/m/enum/IsMacAyealPattynEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IsMacAyealPattynEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/IsMacAyealPattynEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=IsMacAyealPattynEnum()
 
-macro=276;
+macro=272;
Index: /issm/trunk/src/m/enum/IsStokesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IsStokesEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/IsStokesEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=IsStokesEnum()
 
-macro=277;
+macro=273;
Index: /issm/trunk/src/m/enum/IuToExtEnum.m
===================================================================
--- /issm/trunk/src/m/enum/IuToExtEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/IuToExtEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=IuToExtEnum()
 
-macro=155;
+macro=151;
Index: /issm/trunk/src/m/enum/JEnum.m
===================================================================
--- /issm/trunk/src/m/enum/JEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/JEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=JEnum()
 
-macro=228;
+macro=224;
Index: /issm/trunk/src/m/enum/KflagEnum.m
===================================================================
--- /issm/trunk/src/m/enum/KflagEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/KflagEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=KflagEnum()
 
-macro=154;
+macro=150;
Index: /issm/trunk/src/m/enum/LatentHeatEnum.m
===================================================================
--- /issm/trunk/src/m/enum/LatentHeatEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/LatentHeatEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=LatentHeatEnum()
 
-macro=278;
+macro=274;
Index: /issm/trunk/src/m/enum/LowmemEnum.m
===================================================================
--- /issm/trunk/src/m/enum/LowmemEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/LowmemEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=LowmemEnum()
 
-macro=279;
+macro=275;
Index: /issm/trunk/src/m/enum/MassFluxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MassFluxEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MassFluxEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MassFluxEnum()
 
-macro=157;
+macro=153;
Index: /issm/trunk/src/m/enum/MaxAbsVxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxAbsVxEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxAbsVxEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxAbsVxEnum()
 
-macro=238;
+macro=234;
Index: /issm/trunk/src/m/enum/MaxAbsVyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxAbsVyEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxAbsVyEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxAbsVyEnum()
 
-macro=241;
+macro=237;
Index: /issm/trunk/src/m/enum/MaxAbsVzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxAbsVzEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxAbsVzEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxAbsVzEnum()
 
-macro=244;
+macro=240;
Index: /issm/trunk/src/m/enum/MaxIterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxIterEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxIterEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxIterEnum()
 
-macro=280;
+macro=276;
Index: /issm/trunk/src/m/enum/MaxNonlinearIterationsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxNonlinearIterationsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxNonlinearIterationsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxNonlinearIterationsEnum()
 
-macro=281;
+macro=277;
Index: /issm/trunk/src/m/enum/MaxPenetrationEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxPenetrationEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxPenetrationEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxPenetrationEnum()
 
-macro=164;
+macro=160;
Index: /issm/trunk/src/m/enum/MaxVelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxVelEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxVelEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxVelEnum()
 
-macro=235;
+macro=231;
Index: /issm/trunk/src/m/enum/MaxVxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxVxEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxVxEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxVxEnum()
 
-macro=237;
+macro=233;
Index: /issm/trunk/src/m/enum/MaxVyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxVyEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxVyEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxVyEnum()
 
-macro=240;
+macro=236;
Index: /issm/trunk/src/m/enum/MaxVzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MaxVzEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MaxVzEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MaxVzEnum()
 
-macro=243;
+macro=239;
Index: /issm/trunk/src/m/enum/MeanVelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MeanVelEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MeanVelEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MeanVelEnum()
 
-macro=165;
+macro=161;
Index: /issm/trunk/src/m/enum/MeltingOffsetEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MeltingOffsetEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MeltingOffsetEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MeltingOffsetEnum()
 
-macro=166;
+macro=162;
Index: /issm/trunk/src/m/enum/MeltingPointEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MeltingPointEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MeltingPointEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MeltingPointEnum()
 
-macro=282;
+macro=278;
Index: /issm/trunk/src/m/enum/MeltingRateEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MeltingRateEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MeltingRateEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MeltingRateEnum()
 
-macro=167;
+macro=163;
Index: /issm/trunk/src/m/enum/MinMechanicalConstraintsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinMechanicalConstraintsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MinMechanicalConstraintsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MinMechanicalConstraintsEnum()
 
-macro=283;
+macro=279;
Index: /issm/trunk/src/m/enum/MinThermalConstraintsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinThermalConstraintsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MinThermalConstraintsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MinThermalConstraintsEnum()
 
-macro=284;
+macro=280;
Index: /issm/trunk/src/m/enum/MinVelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinVelEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MinVelEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MinVelEnum()
 
-macro=234;
+macro=230;
Index: /issm/trunk/src/m/enum/MinVxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinVxEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MinVxEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MinVxEnum()
 
-macro=236;
+macro=232;
Index: /issm/trunk/src/m/enum/MinVyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinVyEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MinVyEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MinVyEnum()
 
-macro=239;
+macro=235;
Index: /issm/trunk/src/m/enum/MinVzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MinVzEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MinVzEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MinVzEnum()
 
-macro=242;
+macro=238;
Index: /issm/trunk/src/m/enum/MiniEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MiniEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MiniEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MiniEnum()
 
-macro=217;
+macro=213;
Index: /issm/trunk/src/m/enum/MisfitEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MisfitEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MisfitEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MisfitEnum()
 
-macro=168;
+macro=164;
Index: /issm/trunk/src/m/enum/MixedLayerCapacityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/MixedLayerCapacityEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/MixedLayerCapacityEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=MixedLayerCapacityEnum()
 
-macro=252;
+macro=248;
Index: /issm/trunk/src/m/enum/NStepsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NStepsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NStepsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NStepsEnum()
 
-macro=285;
+macro=281;
Index: /issm/trunk/src/m/enum/NdtEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NdtEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NdtEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NdtEnum()
 
-macro=286;
+macro=282;
Index: /issm/trunk/src/m/enum/NodalEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodalEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NodalEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NodalEnum()
 
-macro=308;
+macro=304;
Index: /issm/trunk/src/m/enum/NodeOnBedEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnBedEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NodeOnBedEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NodeOnBedEnum()
 
-macro=169;
+macro=165;
Index: /issm/trunk/src/m/enum/NodeOnIceSheetEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnIceSheetEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NodeOnIceSheetEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NodeOnIceSheetEnum()
 
-macro=170;
+macro=166;
Index: /issm/trunk/src/m/enum/NodeOnIceShelfEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnIceShelfEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NodeOnIceShelfEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NodeOnIceShelfEnum()
 
-macro=171;
+macro=167;
Index: /issm/trunk/src/m/enum/NodeOnSurfaceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NodeOnSurfaceEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NodeOnSurfaceEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NodeOnSurfaceEnum()
 
-macro=172;
+macro=168;
Index: /issm/trunk/src/m/enum/NumOutputEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumOutputEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NumOutputEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NumOutputEnum()
 
-macro=287;
+macro=283;
Index: /issm/trunk/src/m/enum/NumRiftsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumRiftsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NumRiftsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NumRiftsEnum()
 
-macro=288;
+macro=284;
Index: /issm/trunk/src/m/enum/NumberNodeToElementConnectivityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumberNodeToElementConnectivityEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NumberNodeToElementConnectivityEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NumberNodeToElementConnectivityEnum()
 
-macro=173;
+macro=169;
Index: /issm/trunk/src/m/enum/NumberOfElementsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumberOfElementsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NumberOfElementsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NumberOfElementsEnum()
 
-macro=289;
+macro=285;
Index: /issm/trunk/src/m/enum/NumberOfNodesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumberOfNodesEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NumberOfNodesEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NumberOfNodesEnum()
 
-macro=290;
+macro=286;
Index: /issm/trunk/src/m/enum/NumberOfVerticesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/NumberOfVerticesEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/NumberOfVerticesEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=NumberOfVerticesEnum()
 
-macro=291;
+macro=287;
Index: /issm/trunk/src/m/enum/OldGradientEnum.m
===================================================================
--- /issm/trunk/src/m/enum/OldGradientEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/OldGradientEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=OldGradientEnum()
 
-macro=264;
+macro=260;
Index: /issm/trunk/src/m/enum/OptScalEnum.m
===================================================================
--- /issm/trunk/src/m/enum/OptScalEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/OptScalEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=OptScalEnum()
 
-macro=292;
+macro=288;
Index: /issm/trunk/src/m/enum/OutputFilePointerEnum.m
===================================================================
--- /issm/trunk/src/m/enum/OutputFilePointerEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/OutputFilePointerEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=OutputFilePointerEnum()
 
-macro=293;
+macro=289;
Index: /issm/trunk/src/m/enum/OutputFrequencyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/OutputFrequencyEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/OutputFrequencyEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=OutputFrequencyEnum()
 
-macro=233;
+macro=229;
Index: /issm/trunk/src/m/enum/P0Enum.m
===================================================================
--- /issm/trunk/src/m/enum/P0Enum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/P0Enum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=P0Enum()
 
-macro=214;
+macro=210;
Index: /issm/trunk/src/m/enum/P1DGEnum.m
===================================================================
--- /issm/trunk/src/m/enum/P1DGEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/P1DGEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=P1DGEnum()
 
-macro=216;
+macro=212;
Index: /issm/trunk/src/m/enum/P1Enum.m
===================================================================
--- /issm/trunk/src/m/enum/P1Enum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/P1Enum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=P1Enum()
 
-macro=215;
+macro=211;
Index: /issm/trunk/src/m/enum/ParameterOutputEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ParameterOutputEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ParameterOutputEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ParameterOutputEnum()
 
-macro=294;
+macro=290;
Index: /issm/trunk/src/m/enum/PatchEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PatchEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PatchEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PatchEnum()
 
-macro=229;
+macro=225;
Index: /issm/trunk/src/m/enum/PatchNodesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PatchNodesEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PatchNodesEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PatchNodesEnum()
 
-macro=231;
+macro=227;
Index: /issm/trunk/src/m/enum/PatchVerticesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PatchVerticesEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PatchVerticesEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PatchVerticesEnum()
 
-macro=230;
+macro=226;
Index: /issm/trunk/src/m/enum/PenaltyMeltingEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PenaltyMeltingEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PenaltyMeltingEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PenaltyMeltingEnum()
 
-macro=295;
+macro=291;
Index: /issm/trunk/src/m/enum/PenaltyOffsetEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PenaltyOffsetEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PenaltyOffsetEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PenaltyOffsetEnum()
 
-macro=174;
+macro=170;
Index: /issm/trunk/src/m/enum/PentaVertexElementResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PentaVertexElementResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PentaVertexElementResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PentaVertexElementResultEnum()
 
-macro=220;
+macro=216;
Index: /issm/trunk/src/m/enum/PetscVecExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PetscVecExternalResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PetscVecExternalResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PetscVecExternalResultEnum()
 
-macro=226;
+macro=222;
Index: /issm/trunk/src/m/enum/PflagEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PflagEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PflagEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PflagEnum()
 
-macro=175;
+macro=171;
Index: /issm/trunk/src/m/enum/PressureEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PressureEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PressureEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PressureEnum()
 
-macro=176;
+macro=172;
Index: /issm/trunk/src/m/enum/PressureOldEnum.m
===================================================================
--- /issm/trunk/src/m/enum/PressureOldEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/PressureOldEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=PressureOldEnum()
 
-macro=177;
+macro=173;
Index: /issm/trunk/src/m/enum/QmuAnalysisEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuAnalysisEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuAnalysisEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuAnalysisEnum()
 
-macro=296;
+macro=292;
Index: /issm/trunk/src/m/enum/QmuErrNameEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuErrNameEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuErrNameEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuErrNameEnum()
 
-macro=297;
+macro=293;
Index: /issm/trunk/src/m/enum/QmuInNameEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuInNameEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuInNameEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuInNameEnum()
 
-macro=298;
+macro=294;
Index: /issm/trunk/src/m/enum/QmuMassFluxSegmentsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuMassFluxSegmentsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuMassFluxSegmentsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuMassFluxSegmentsEnum()
 
-macro=299;
+macro=295;
Index: /issm/trunk/src/m/enum/QmuNPartEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuNPartEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuNPartEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuNPartEnum()
 
-macro=300;
+macro=296;
Index: /issm/trunk/src/m/enum/QmuNumberOfResponsesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuNumberOfResponsesEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuNumberOfResponsesEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuNumberOfResponsesEnum()
 
-macro=303;
+macro=299;
Index: /issm/trunk/src/m/enum/QmuOutNameEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuOutNameEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuOutNameEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuOutNameEnum()
 
-macro=301;
+macro=297;
Index: /issm/trunk/src/m/enum/QmuPartEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuPartEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuPartEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuPartEnum()
 
-macro=302;
+macro=298;
Index: /issm/trunk/src/m/enum/QmuPressureEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuPressureEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuPressureEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuPressureEnum()
 
-macro=178;
+macro=174;
Index: /issm/trunk/src/m/enum/QmuVxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuVxEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuVxEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuVxEnum()
 
-macro=202;
+macro=198;
Index: /issm/trunk/src/m/enum/QmuVyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuVyEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuVyEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuVyEnum()
 
-macro=207;
+macro=203;
Index: /issm/trunk/src/m/enum/QmuVzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/QmuVzEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/QmuVzEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=QmuVzEnum()
 
-macro=212;
+macro=208;
Index: /issm/trunk/src/m/enum/RegularEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RegularEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/RegularEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=RegularEnum()
 
-macro=305;
+macro=301;
Index: /issm/trunk/src/m/enum/RelativeEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RelativeEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/RelativeEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=RelativeEnum()
 
-macro=245;
+macro=241;
Index: /issm/trunk/src/m/enum/ResetPenaltiesEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ResetPenaltiesEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ResetPenaltiesEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ResetPenaltiesEnum()
 
-macro=179;
+macro=175;
Index: /issm/trunk/src/m/enum/ResidualEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ResidualEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ResidualEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ResidualEnum()
 
-macro=246;
+macro=242;
Index: /issm/trunk/src/m/enum/ResponseDescriptorsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ResponseDescriptorsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ResponseDescriptorsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ResponseDescriptorsEnum()
 
-macro=309;
+macro=305;
Index: /issm/trunk/src/m/enum/RheologyBEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RheologyBEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/RheologyBEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=RheologyBEnum()
 
-macro=180;
+macro=176;
Index: /issm/trunk/src/m/enum/RheologyBbarEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RheologyBbarEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/RheologyBbarEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=RheologyBbarEnum()
 
-macro=181;
+macro=177;
Index: /issm/trunk/src/m/enum/RheologyNEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RheologyNEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/RheologyNEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=RheologyNEnum()
 
-macro=182;
+macro=178;
Index: /issm/trunk/src/m/enum/RhoIceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RhoIceEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/RhoIceEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=RhoIceEnum()
 
-macro=248;
+macro=244;
Index: /issm/trunk/src/m/enum/RhoWaterEnum.m
===================================================================
--- /issm/trunk/src/m/enum/RhoWaterEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/RhoWaterEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=RhoWaterEnum()
 
-macro=249;
+macro=245;
Index: /issm/trunk/src/m/enum/ScaledEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ScaledEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ScaledEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ScaledEnum()
 
-macro=307;
+macro=303;
Index: /issm/trunk/src/m/enum/SegmentOnIceShelfEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SegmentOnIceShelfEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SegmentOnIceShelfEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SegmentOnIceShelfEnum()
 
-macro=183;
+macro=179;
Index: /issm/trunk/src/m/enum/SeparateEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SeparateEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SeparateEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SeparateEnum()
 
-macro=256;
+macro=252;
Index: /issm/trunk/src/m/enum/SolverStringEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SolverStringEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SolverStringEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SolverStringEnum()
 
-macro=310;
+macro=306;
Index: /issm/trunk/src/m/enum/SparsityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SparsityEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SparsityEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SparsityEnum()
 
-macro=311;
+macro=307;
Index: /issm/trunk/src/m/enum/StabilizeConstraintsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/StabilizeConstraintsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/StabilizeConstraintsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=StabilizeConstraintsEnum()
 
-macro=184;
+macro=180;
Index: /issm/trunk/src/m/enum/StokesReconditioningEnum.m
===================================================================
--- /issm/trunk/src/m/enum/StokesReconditioningEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/StokesReconditioningEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=StokesReconditioningEnum()
 
-macro=185;
+macro=181;
Index: /issm/trunk/src/m/enum/StringExternalResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/StringExternalResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/StringExternalResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=StringExternalResultEnum()
 
-macro=227;
+macro=223;
Index: /issm/trunk/src/m/enum/StringToEnum.m
===================================================================
--- /issm/trunk/src/m/enum/StringToEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/StringToEnum.m	(revision 5631)
@@ -139,8 +139,4 @@
 			elseif (strcmpi(name,'CmResponse')), enum=CmResponseEnum(); return
 			elseif (strcmpi(name,'CmResponses')), enum=CmResponsesEnum(); return
-			elseif (strcmpi(name,'CmMaxDmpSlope')), enum=CmMaxDmpSlopeEnum(); return
-			elseif (strcmpi(name,'CmMaxDmpValue')), enum=CmMaxDmpValueEnum(); return
-			elseif (strcmpi(name,'CmMinDmpSlope')), enum=CmMinDmpSlopeEnum(); return
-			elseif (strcmpi(name,'CmMinDmpValue')), enum=CmMinDmpValueEnum(); return
 			elseif (strcmpi(name,'CmNoiseDmp')), enum=CmNoiseDmpEnum(); return
 			elseif (strcmpi(name,'Constant')), enum=ConstantEnum(); return
Index: /issm/trunk/src/m/enum/SurfaceAbsVelMisfitEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceAbsVelMisfitEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SurfaceAbsVelMisfitEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SurfaceAbsVelMisfitEnum()
 
-macro=159;
+macro=155;
Index: /issm/trunk/src/m/enum/SurfaceAreaEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceAreaEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SurfaceAreaEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SurfaceAreaEnum()
 
-macro=186;
+macro=182;
Index: /issm/trunk/src/m/enum/SurfaceAverageVelMisfitEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceAverageVelMisfitEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SurfaceAverageVelMisfitEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SurfaceAverageVelMisfitEnum()
 
-macro=163;
+macro=159;
Index: /issm/trunk/src/m/enum/SurfaceEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SurfaceEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SurfaceEnum()
 
-macro=187;
+macro=183;
Index: /issm/trunk/src/m/enum/SurfaceLogVelMisfitEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceLogVelMisfitEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SurfaceLogVelMisfitEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SurfaceLogVelMisfitEnum()
 
-macro=161;
+macro=157;
Index: /issm/trunk/src/m/enum/SurfaceLogVxVyMisfitEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceLogVxVyMisfitEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SurfaceLogVxVyMisfitEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SurfaceLogVxVyMisfitEnum()
 
-macro=162;
+macro=158;
Index: /issm/trunk/src/m/enum/SurfaceRelVelMisfitEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceRelVelMisfitEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SurfaceRelVelMisfitEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SurfaceRelVelMisfitEnum()
 
-macro=160;
+macro=156;
Index: /issm/trunk/src/m/enum/SurfaceSlopeXEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceSlopeXEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SurfaceSlopeXEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SurfaceSlopeXEnum()
 
-macro=188;
+macro=184;
Index: /issm/trunk/src/m/enum/SurfaceSlopeYEnum.m
===================================================================
--- /issm/trunk/src/m/enum/SurfaceSlopeYEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/SurfaceSlopeYEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=SurfaceSlopeYEnum()
 
-macro=189;
+macro=185;
Index: /issm/trunk/src/m/enum/TemperatureEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TemperatureEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/TemperatureEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=TemperatureEnum()
 
-macro=190;
+macro=186;
Index: /issm/trunk/src/m/enum/TemperatureOldEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TemperatureOldEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/TemperatureOldEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=TemperatureOldEnum()
 
-macro=191;
+macro=187;
Index: /issm/trunk/src/m/enum/ThermalConductivityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThermalConductivityEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ThermalConductivityEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ThermalConductivityEnum()
 
-macro=251;
+macro=247;
Index: /issm/trunk/src/m/enum/ThermalExchangeVelocityEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThermalExchangeVelocityEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ThermalExchangeVelocityEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ThermalExchangeVelocityEnum()
 
-macro=253;
+macro=249;
Index: /issm/trunk/src/m/enum/ThicknessAbsMisfitEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThicknessAbsMisfitEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ThicknessAbsMisfitEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ThicknessAbsMisfitEnum()
 
-macro=158;
+macro=154;
Index: /issm/trunk/src/m/enum/ThicknessEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThicknessEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ThicknessEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ThicknessEnum()
 
-macro=192;
+macro=188;
Index: /issm/trunk/src/m/enum/ThicknessObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ThicknessObsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ThicknessObsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ThicknessObsEnum()
 
-macro=193;
+macro=189;
Index: /issm/trunk/src/m/enum/TimeEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TimeEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/TimeEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=TimeEnum()
 
-macro=232;
+macro=228;
Index: /issm/trunk/src/m/enum/TolXEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TolXEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/TolXEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=TolXEnum()
 
-macro=312;
+macro=308;
Index: /issm/trunk/src/m/enum/TriaVertexElementResultEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TriaVertexElementResultEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/TriaVertexElementResultEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=TriaVertexElementResultEnum()
 
-macro=219;
+macro=215;
Index: /issm/trunk/src/m/enum/TypeEnum.m
===================================================================
--- /issm/trunk/src/m/enum/TypeEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/TypeEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=TypeEnum()
 
-macro=194;
+macro=190;
Index: /issm/trunk/src/m/enum/VariableDescriptorsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VariableDescriptorsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VariableDescriptorsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VariableDescriptorsEnum()
 
-macro=313;
+macro=309;
Index: /issm/trunk/src/m/enum/VelEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VelEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VelEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VelEnum()
 
-macro=195;
+macro=191;
Index: /issm/trunk/src/m/enum/VelObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VelObsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VelObsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VelObsEnum()
 
-macro=196;
+macro=192;
Index: /issm/trunk/src/m/enum/VerboseEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VerboseEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VerboseEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VerboseEnum()
 
-macro=314;
+macro=310;
Index: /issm/trunk/src/m/enum/ViscosityOvershootEnum.m
===================================================================
--- /issm/trunk/src/m/enum/ViscosityOvershootEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/ViscosityOvershootEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=ViscosityOvershootEnum()
 
-macro=197;
+macro=193;
Index: /issm/trunk/src/m/enum/VxAverageEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VxAverageEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VxAverageEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VxAverageEnum()
 
-macro=198;
+macro=194;
Index: /issm/trunk/src/m/enum/VxEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VxEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VxEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VxEnum()
 
-macro=199;
+macro=195;
Index: /issm/trunk/src/m/enum/VxObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VxObsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VxObsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VxObsEnum()
 
-macro=200;
+macro=196;
Index: /issm/trunk/src/m/enum/VxOldEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VxOldEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VxOldEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VxOldEnum()
 
-macro=201;
+macro=197;
Index: /issm/trunk/src/m/enum/VyAverageEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VyAverageEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VyAverageEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VyAverageEnum()
 
-macro=203;
+macro=199;
Index: /issm/trunk/src/m/enum/VyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VyEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VyEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VyEnum()
 
-macro=204;
+macro=200;
Index: /issm/trunk/src/m/enum/VyObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VyObsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VyObsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VyObsEnum()
 
-macro=205;
+macro=201;
Index: /issm/trunk/src/m/enum/VyOldEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VyOldEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VyOldEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VyOldEnum()
 
-macro=206;
+macro=202;
Index: /issm/trunk/src/m/enum/VzAverageEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VzAverageEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VzAverageEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VzAverageEnum()
 
-macro=208;
+macro=204;
Index: /issm/trunk/src/m/enum/VzEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VzEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VzEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VzEnum()
 
-macro=209;
+macro=205;
Index: /issm/trunk/src/m/enum/VzObsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VzObsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VzObsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VzObsEnum()
 
-macro=210;
+macro=206;
Index: /issm/trunk/src/m/enum/VzOldEnum.m
===================================================================
--- /issm/trunk/src/m/enum/VzOldEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/VzOldEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=VzOldEnum()
 
-macro=211;
+macro=207;
Index: /issm/trunk/src/m/enum/WaitOnLockEnum.m
===================================================================
--- /issm/trunk/src/m/enum/WaitOnLockEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/WaitOnLockEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=WaitOnLockEnum()
 
-macro=315;
+macro=311;
Index: /issm/trunk/src/m/enum/WeightsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/WeightsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/WeightsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=WeightsEnum()
 
-macro=213;
+macro=209;
Index: /issm/trunk/src/m/enum/YtsEnum.m
===================================================================
--- /issm/trunk/src/m/enum/YtsEnum.m	(revision 5630)
+++ /issm/trunk/src/m/enum/YtsEnum.m	(revision 5631)
@@ -9,3 +9,3 @@
 %      macro=YtsEnum()
 
-macro=316;
+macro=312;
Index: /issm/trunk/src/m/solvers/solver_adjoint_linear.m
===================================================================
--- /issm/trunk/src/m/solvers/solver_adjoint_linear.m	(revision 5630)
+++ /issm/trunk/src/m/solvers/solver_adjoint_linear.m	(revision 5631)
@@ -14,4 +14,5 @@
 	%Reduce tangent matrix from g size to f size
 	[K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets); 
+	%K_ff=transpose(K_ff);
 	displaystring(femmodel.parameters.Verbose>1,'%s%g','      condition number of stiffness matrix: ',condest(K_ff));
 	
