Index: /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 10516)
+++ /issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h	(revision 10517)
@@ -484,5 +484,4 @@
 	SpcDynamicEnum,
 	IceVolumeEnum,
-	DiagnosticStokesBasalPenaltyEnum,
 	MaximumNumberOfEnums
 };
Index: /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 10516)
+++ /issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp	(revision 10517)
@@ -428,5 +428,4 @@
 		case SpcDynamicEnum : return "SpcDynamic";
 		case IceVolumeEnum : return "IceVolume";
-		case DiagnosticStokesBasalPenaltyEnum : return "DiagnosticStokesBasalPenalty";
 		default : return "unknown";
 
Index: /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 10516)
+++ /issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 10517)
@@ -65,5 +65,4 @@
 	parameters->AddObject(iomodel->CopyConstantObject(DiagnosticRiftPenaltyThresholdEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(DiagnosticStokesreconditioningEnum));
-	parameters->AddObject(iomodel->CopyConstantObject(DiagnosticStokesBasalPenaltyEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(DiagnosticShelfDampeningEnum));
 	parameters->AddObject(iomodel->CopyConstantObject(DiagnosticViscosityOvershootEnum));
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 10516)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp	(revision 10517)
@@ -20,5 +20,5 @@
 	double  rho_ice;
 	double  stokesreconditioning;
-	bool    isstokes,ismacayealpattyn,stokes_basal_penalty;
+	bool    isstokes,ismacayealpattyn;
    bool    spcpresent=false;
 	int Mx,Nx;
@@ -57,5 +57,4 @@
 	iomodel->Constant(&isstokes,FlowequationIsstokesEnum);
 	iomodel->Constant(&ismacayealpattyn,FlowequationIsmacayealpattynEnum);
-	iomodel->Constant(&stokes_basal_penalty,DiagnosticStokesBasalPenaltyEnum);
 
 	/*Recover pointer: */
@@ -298,10 +297,8 @@
 					}
 
-					/*Constraint at the bedrock interface (v.n ~ vz ~ 0)*/
-					if(!stokes_basal_penalty){
-						if(nodeonbed[i] && nodeonicesheet[i] && nodeonstokes[i]){
-							constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0.,DiagnosticHorizAnalysisEnum));
-							count++;
-						}
+					/*Constraint at the bedrock interface (v.n = vz = 0) (Coordinates will be updated according to the bed slope)*/
+					if(nodeonbed[i] && nodeonicesheet[i] && nodeonstokes[i]){
+						constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0.,DiagnosticHorizAnalysisEnum));
+						count++;
 					}
 				}
Index: /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
===================================================================
--- /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 10516)
+++ /issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp	(revision 10517)
@@ -27,5 +27,5 @@
 	int dim;
 	int numberofvertices;
-	bool ismacayealpattyn,isstokes,stokes_basal_penalty;
+	bool ismacayealpattyn,isstokes;
 	int  numpenalties,numberofpressureloads,numrifts,numriftsegments;
 	double *pressureload   = NULL;
@@ -45,5 +45,4 @@
 	iomodel->Constant(&ismacayealpattyn,FlowequationIsmacayealpattynEnum);
 	iomodel->Constant(&numrifts,RiftsNumriftsEnum);
-	iomodel->Constant(&stokes_basal_penalty,DiagnosticStokesBasalPenaltyEnum);
 
 	/*Recover pointer: */
@@ -124,31 +123,4 @@
 	xfree((void**)&pressureload);
 
-	if(stokes_basal_penalty){
-		/*create penalties for nodes on the base of icesheet. We must have wb=ub*db/dx+vb*db/dy */
-		iomodel->FetchData(&nodeonbed,NULL,NULL,MeshVertexonbedEnum);
-		iomodel->FetchData(&nodeonicesheet,NULL,NULL,MaskVertexongroundediceEnum);
-		iomodel->FetchData(&nodeonstokes,NULL,NULL,FlowequationBorderstokesEnum);
-		iomodel->FetchData(&vertices_type,NULL,NULL,FlowequationVertexEquationEnum);
-		iomodel->FetchData(1,MeshElementsEnum);
-		CreateSingleNodeToElementConnectivity(iomodel);
-
-		for (i=0;i<numberofvertices;i++){
-			if(iomodel->my_vertices[i]==1 && iomodel->singlenodetoelementconnectivity[i]!=0){
-
-				//if ((nodeonbed[i]) && (nodeonstokes[i])){
-				if ((nodeonbed[i]) && (nodeonicesheet[i]) && (nodeonstokes[i])){
-
-					loads->AddObject(new Pengrid(iomodel->loadcounter+count+1,i,iomodel,DiagnosticHorizAnalysisEnum));
-					count++;
-				}
-			}
-		}
-		xfree((void**)&nodeonbed);
-		xfree((void**)&nodeonstokes);
-		xfree((void**)&nodeonicesheet);
-		xfree((void**)&vertices_type);
-		iomodel->DeleteData(1,MeshElementsEnum);
-	}
-
 	/*Create Penpair for penalties: */
 	iomodel->FetchData(&penalties,&numpenalties,NULL,DiagnosticVertexPairingEnum);
Index: /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 10516)
+++ /issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp	(revision 10517)
@@ -426,5 +426,4 @@
 	else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
 	else if (strcmp(name,"IceVolume")==0) return IceVolumeEnum;
-	else if (strcmp(name,"DiagnosticStokesBasalPenalty")==0) return DiagnosticStokesBasalPenaltyEnum;
 	else _error_("Enum %s not found",name);
 
Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 10516)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 10517)
@@ -2380,12 +2380,7 @@
 
 	int    approximation;
-	bool   stokes_basal_penalty;
 	double slopex[NUMVERTICES];
 	double slopey[NUMVERTICES];
 	double xz_plane[6];
-
-	/*Do not change CS if stokes_basal_penalty is activated*/
-	parameters->FindParam(&stokes_basal_penalty,DiagnosticStokesBasalPenaltyEnum);
-	if(stokes_basal_penalty) return;
 
 	/*For Stokes only: we want the CS to be tangential to the bedrock*/
Index: /issm/trunk/src/m/classes/diagnostic.m
===================================================================
--- /issm/trunk/src/m/classes/diagnostic.m	(revision 10516)
+++ /issm/trunk/src/m/classes/diagnostic.m	(revision 10517)
@@ -16,5 +16,4 @@
 		icefront                 = modelfield('default',NaN,'marshall',true,'preprocess','marshallicefront','format','DoubleMat','mattype',3);
 		maxiter                  = modelfield('default',0,'marshall',true,'format','Integer');
-		stokes_basal_penalty     = modelfield('default',0,'marshall',true,'format','Boolean');
 		shelf_dampening          = modelfield('default',0,'marshall',true,'format','Integer');
 		vertex_pairing           = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3);
@@ -76,8 +75,4 @@
 			 %parameter is often used.
 			 obj.rift_penalty_lock=10;
-
-			 %penalty scheme for basal Dirichlet condition of Full-Stokes
-			 %activated by default
-			 obj.stokes_basal_penalty=0;
 
 		end % }}}
@@ -151,5 +146,4 @@
 			fielddisplay(obj,'shelf_dampening','use dampening for floating ice ? Only for Stokes model');
 			fielddisplay(obj,'stokesreconditioning','multiplier for incompressibility equation. Only for Stokes model');
-			fielddisplay(obj,'stokes_basal_penalty','penalty based basal condition for grounded ice. Only for Stokes model');
 			fielddisplay(obj,'referential','local referential');
 			fielddisplay(obj,'requested_outputs','additional outputs requested');
Index: sm/trunk/src/m/enum/DiagnosticStokesBasalPenaltyEnum.m
===================================================================
--- /issm/trunk/src/m/enum/DiagnosticStokesBasalPenaltyEnum.m	(revision 10516)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=DiagnosticStokesBasalPenaltyEnum()
-%DIAGNOSTICSTOKESBASALPENALTYENUM - Enum of DiagnosticStokesBasalPenalty
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-%            Please read src/c/EnumDefinitions/README for more information
-%
-%   Usage:
-%      macro=DiagnosticStokesBasalPenaltyEnum()
-
-macro=StringToEnum('DiagnosticStokesBasalPenalty');
