Index: /issm/trunk-jpl/src/m/classes/frictionhydro.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/frictionhydro.m	(revision 19151)
+++ /issm/trunk-jpl/src/m/classes/frictionhydro.m	(revision 19152)
@@ -6,4 +6,5 @@
 classdef frictionhydro
 	properties (SetAccess=public) 
+		Coupling           = 0;
 		q                  = NaN;
 		C                  = NaN;
@@ -27,4 +28,5 @@
 			%Early return
 			if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
+			md = checkfield(md,'fieldname','friction.Coupling','numel',[1],'values',[0 1]);
 			md = checkfield(md,'fieldname','friction.q','NaN',1,'size',[md.mesh.numberofelements 1]);
 			md = checkfield(md,'fieldname','friction.C','NaN',1,'size',[md.mesh.numberofelements 1]);
@@ -35,20 +37,26 @@
 			self.C=project3d(md,'vector',self.C,'type','element');
 			self.As=project3d(md,'vector',self.As,'type','element');
-			self.effective_pressure=project3d(md,'vector',self.effective_pressure,'type','node','layer',1);
-		end % }}}
+			if self.Coupling==1,
+				self.effective_pressure=project3d(md,'vector',self.effective_pressure,'type','node','layer',1);
+			end
+	  end % }}}
 		function disp(self) % {{{
 			disp(sprintf('Effective Pressure based friction law described in Gagliardini 2007'));
+			fielddisplay(self,'Coupling','Coupling flag, 1 for coupling and 0 for forcing');
 			fielddisplay(self,'q','friction law exponent q>=1');
 			fielddisplay(self,'C','friction law max value [SI]');
 			fielddisplay(self,'As','Sliding Parameter without cavitation [m Pa^-n s^-1]');
-			fielddisplay(self,'effective_pressure','Effective Pressure [Pa]');
+			fielddisplay(self,'effective_pressure','Effective Pressure for the forcing if not coupled [Pa]');
 		end % }}}
 		function marshall(self,md,fid) % {{{
 			WriteData(fid,'enum',FrictionLawEnum,'data',3,'format','Integer');
+			WriteData(fid,'class','friction','object',self,'fieldname','Coupling','format','Integer');
 			WriteData(fid,'class','friction','object',self,'fieldname','q','format','DoubleMat','mattype',2);
 			WriteData(fid,'class','friction','object',self,'fieldname','C','format','DoubleMat','mattype',2);
 			WriteData(fid,'class','friction','object',self,'fieldname','As','format','DoubleMat','mattype',2);
-			WriteData(fid,'class','friction','object',self,'fieldname','effective_pressure','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
-		end % }}}
+			if self.Coupling==0,
+				WriteData(fid,'class','friction','object',self,'fieldname','effective_pressure','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
+			end
+	  end % }}}
 	end
 end
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 19151)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 19152)
@@ -98,4 +98,5 @@
 def FrictionWaterLayerEnum(): return StringToEnum("FrictionWaterLayer")[0]
 def FrictionEffectivePressureEnum(): return StringToEnum("FrictionEffectivePressure")[0]
+def FrictionCouplingEnum(): return StringToEnum("FrictionCoupling")[0]
 def GeometryHydrostaticRatioEnum(): return StringToEnum("GeometryHydrostaticRatio")[0]
 def HydrologyModelEnum(): return StringToEnum("HydrologyModel")[0]
@@ -294,5 +295,4 @@
 def ProfilingCurrentFlopsEnum(): return StringToEnum("ProfilingCurrentFlops")[0]
 def ProfilingSolutionTimeEnum(): return StringToEnum("ProfilingSolutionTime")[0]
-def MaxIterationConvergenceFlagEnum(): return StringToEnum("MaxIterationConvergenceFlag")[0]
 def SteadystateMaxiterEnum(): return StringToEnum("SteadystateMaxiter")[0]
 def SteadystateNumRequestedOutputsEnum(): return StringToEnum("SteadystateNumRequestedOutputs")[0]
Index: /issm/trunk-jpl/src/m/enum/FrictionCouplingEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/FrictionCouplingEnum.m	(revision 19152)
+++ /issm/trunk-jpl/src/m/enum/FrictionCouplingEnum.m	(revision 19152)
@@ -0,0 +1,11 @@
+function macro=FrictionCouplingEnum()
+%FRICTIONCOUPLINGENUM - Enum of FrictionCoupling
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=FrictionCouplingEnum()
+
+macro=StringToEnum('FrictionCoupling');
Index: sm/trunk-jpl/src/m/enum/MaxIterationConvergenceFlagEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/MaxIterationConvergenceFlagEnum.m	(revision 19151)
+++ 	(revision )
@@ -1,11 +1,0 @@
-function macro=MaxIterationConvergenceFlagEnum()
-%MAXITERATIONCONVERGENCEFLAGENUM - Enum of MaxIterationConvergenceFlag
-%
-%   WARNING: DO NOT MODIFY THIS FILE
-%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
-%            Please read src/c/shared/Enum/README for more information
-%
-%   Usage:
-%      macro=MaxIterationConvergenceFlagEnum()
-
-macro=StringToEnum('MaxIterationConvergenceFlag');
