Index: /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 27449)
+++ /issm/trunk-jpl/src/c/classes/Loads/Friction.cpp	(revision 27450)
@@ -350,5 +350,5 @@
 		/*Retrieve stochastic water pressure and compute ice pressure*/
 		IssmDouble p_ice,p_water,Neff_limit;
-		element->GetInputValue(&p_water,gauss,FrictionCoulombWaterPressureEnum);
+		element->GetInputValue(&p_water,gauss,FrictionWaterPressureEnum);
 		element->parameters->FindParam(&Neff_limit,FrictionEffectivePressureLimitEnum);
 		p_ice = IcePressure(gauss);
@@ -783,5 +783,5 @@
 		/*Retrieve stochastic water pressure and compute ice pressure*/
 		IssmDouble p_ice,p_water,Neff_limit;
-		element->GetInputValue(&p_water,gauss,FrictionSchoofWaterPressureEnum);
+		element->GetInputValue(&p_water,gauss,FrictionWaterPressureEnum);
 		element->parameters->FindParam(&Neff_limit,FrictionEffectivePressureLimitEnum);
 		p_ice = IcePressure(gauss);
Index: /issm/trunk-jpl/src/c/modules/StochasticForcingx/StochasticForcingx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/StochasticForcingx/StochasticForcingx.cpp	(revision 27449)
+++ /issm/trunk-jpl/src/c/modules/StochasticForcingx/StochasticForcingx.cpp	(revision 27450)
@@ -213,34 +213,4 @@
 					}
 					break;
-				case FrictionSchoofWaterPressureEnum:
-					/*Specify that WaterPressure is stochastic*/ 
-					femmodel->parameters->SetParam(true,StochasticForcingIsWaterPressureEnum);
-					for(Object* &object:femmodel->elements->objects){
-                  Element* element = xDynamicCast<Element*>(object);
-                  int numvertices  = element->GetNumberOfVertices();
-                  IssmDouble p_water_deterministic[numvertices];
-                  IssmDouble p_water[numvertices];
-						element->GetInputValue(&dimensionid,StochasticForcingDefaultIdEnum);
-						element->SubglacialWaterPressure(FrictionSchoofWaterPressureEnum);
-                  element->GetInputListOnVertices(&p_water_deterministic[0],FrictionSchoofWaterPressureEnum);
-                  for(int i=0;i<numvertices;i++) p_water[i] = p_water_deterministic[i] + noisefield[dimensionid];
-                  element->AddInput(FrictionSchoofWaterPressureEnum,p_water,P1DGEnum);
-					}
-					break;
-				case FrictionCoulombWaterPressureEnum:
-					/*Specify that WaterPressure is stochastic*/ 
-					femmodel->parameters->SetParam(true,StochasticForcingIsWaterPressureEnum);
-					for(Object* &object:femmodel->elements->objects){
-                  Element* element = xDynamicCast<Element*>(object);
-                  int numvertices  = element->GetNumberOfVertices();
-                  IssmDouble p_water_deterministic[numvertices];
-                  IssmDouble p_water[numvertices];
-						element->GetInputValue(&dimensionid,StochasticForcingDefaultIdEnum);
-						element->SubglacialWaterPressure(FrictionCoulombWaterPressureEnum);
-						element->GetInputListOnVertices(&p_water_deterministic[0],FrictionCoulombWaterPressureEnum);
-						for(int i=0;i<numvertices;i++) p_water[i] = p_water_deterministic[i] + noisefield[dimensionid];
-						element->AddInput(FrictionCoulombWaterPressureEnum,p_water,P1DGEnum);
-					}
-					break;
 				default:
 					_error_("Field "<<EnumToStringx(fields[j])<<" does not support stochasticity yet.");
Index: /issm/trunk-jpl/src/c/shared/Enum/Enum.vim
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/Enum.vim	(revision 27449)
+++ /issm/trunk-jpl/src/c/shared/Enum/Enum.vim	(revision 27450)
@@ -247,5 +247,4 @@
 syn keyword cConstant HydrologyAveragingEnum
 syn keyword cConstant HydrologyCavitySpacingEnum
-syn keyword cConstant HydrologyChannelConductivityEnum
 syn keyword cConstant HydrologyChannelSheetWidthEnum
 syn keyword cConstant HydrologyEnglacialVoidRatioEnum
@@ -796,5 +795,4 @@
 syn keyword cConstant FrictionCoefficientEnum
 syn keyword cConstant FrictionCoefficientcoulombEnum
-syn keyword cConstant FrictionCoulombWaterPressureEnum
 syn keyword cConstant FrictionEffectivePressureEnum
 syn keyword cConstant FrictionMEnum
@@ -804,5 +802,4 @@
 syn keyword cConstant FrictionSedimentCompressibilityCoefficientEnum
 syn keyword cConstant FrictionTillFrictionAngleEnum
-syn keyword cConstant FrictionSchoofWaterPressureEnum
 syn keyword cConstant FrictionWaterLayerEnum
 syn keyword cConstant FrictionWaterPressureEnum
@@ -823,4 +820,5 @@
 syn keyword cConstant HydrologyBumpHeightEnum
 syn keyword cConstant HydrologyBumpSpacingEnum
+syn keyword cConstant HydrologyChannelConductivityEnum
 syn keyword cConstant HydrologydcBasalMoulinInputEnum
 syn keyword cConstant HydrologydcEplThicknessEnum
@@ -1842,4 +1840,5 @@
 syn keyword cType FreeSurfaceTopAnalysis
 syn keyword cType GLheightadvectionAnalysis
+syn keyword cType HydrologyArmapwAnalysis
 syn keyword cType HydrologyDCEfficientAnalysis
 syn keyword cType HydrologyDCInefficientAnalysis
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 27449)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 27450)
@@ -791,5 +791,4 @@
 	FrictionCoefficientEnum,
 	FrictionCoefficientcoulombEnum,
-	FrictionCoulombWaterPressureEnum,
 	FrictionEffectivePressureEnum,
 	FrictionMEnum,
@@ -799,5 +798,4 @@
 	FrictionSedimentCompressibilityCoefficientEnum,
 	FrictionTillFrictionAngleEnum,
-	FrictionSchoofWaterPressureEnum,
 	FrictionWaterLayerEnum,
 	FrictionWaterPressureEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 27449)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 27450)
@@ -797,5 +797,4 @@
 		case FrictionCoefficientEnum : return "FrictionCoefficient";
 		case FrictionCoefficientcoulombEnum : return "FrictionCoefficientcoulomb";
-		case FrictionCoulombWaterPressureEnum : return "FrictionCoulombWaterPressure";
 		case FrictionEffectivePressureEnum : return "FrictionEffectivePressure";
 		case FrictionMEnum : return "FrictionM";
@@ -805,5 +804,4 @@
 		case FrictionSedimentCompressibilityCoefficientEnum : return "FrictionSedimentCompressibilityCoefficient";
 		case FrictionTillFrictionAngleEnum : return "FrictionTillFrictionAngle";
-		case FrictionSchoofWaterPressureEnum : return "FrictionSchoofWaterPressure";
 		case FrictionWaterLayerEnum : return "FrictionWaterLayer";
 		case FrictionWaterPressureEnum : return "FrictionWaterPressure";
Index: /issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim	(revision 27449)
+++ /issm/trunk-jpl/src/c/shared/Enum/Enumjl.vim	(revision 27450)
@@ -240,5 +240,4 @@
 syn keyword juliaConstC HydrologyAveragingEnum
 syn keyword juliaConstC HydrologyCavitySpacingEnum
-syn keyword juliaConstC HydrologyChannelConductivityEnum
 syn keyword juliaConstC HydrologyChannelSheetWidthEnum
 syn keyword juliaConstC HydrologyEnglacialVoidRatioEnum
@@ -789,5 +788,4 @@
 syn keyword juliaConstC FrictionCoefficientEnum
 syn keyword juliaConstC FrictionCoefficientcoulombEnum
-syn keyword juliaConstC FrictionCoulombWaterPressureEnum
 syn keyword juliaConstC FrictionEffectivePressureEnum
 syn keyword juliaConstC FrictionMEnum
@@ -797,5 +795,4 @@
 syn keyword juliaConstC FrictionSedimentCompressibilityCoefficientEnum
 syn keyword juliaConstC FrictionTillFrictionAngleEnum
-syn keyword juliaConstC FrictionSchoofWaterPressureEnum
 syn keyword juliaConstC FrictionWaterLayerEnum
 syn keyword juliaConstC FrictionWaterPressureEnum
@@ -816,4 +813,5 @@
 syn keyword juliaConstC HydrologyBumpHeightEnum
 syn keyword juliaConstC HydrologyBumpSpacingEnum
+syn keyword juliaConstC HydrologyChannelConductivityEnum
 syn keyword juliaConstC HydrologydcBasalMoulinInputEnum
 syn keyword juliaConstC HydrologydcEplThicknessEnum
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 27449)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 27450)
@@ -815,5 +815,4 @@
 	      else if (strcmp(name,"FrictionCoefficient")==0) return FrictionCoefficientEnum;
 	      else if (strcmp(name,"FrictionCoefficientcoulomb")==0) return FrictionCoefficientcoulombEnum;
-	      else if (strcmp(name,"FrictionCoulombWaterPressure")==0) return FrictionCoulombWaterPressureEnum;
 	      else if (strcmp(name,"FrictionEffectivePressure")==0) return FrictionEffectivePressureEnum;
 	      else if (strcmp(name,"FrictionM")==0) return FrictionMEnum;
@@ -823,5 +822,4 @@
 	      else if (strcmp(name,"FrictionSedimentCompressibilityCoefficient")==0) return FrictionSedimentCompressibilityCoefficientEnum;
 	      else if (strcmp(name,"FrictionTillFrictionAngle")==0) return FrictionTillFrictionAngleEnum;
-	      else if (strcmp(name,"FrictionSchoofWaterPressure")==0) return FrictionSchoofWaterPressureEnum;
 	      else if (strcmp(name,"FrictionWaterLayer")==0) return FrictionWaterLayerEnum;
 	      else if (strcmp(name,"FrictionWaterPressure")==0) return FrictionWaterPressureEnum;
@@ -875,10 +873,10 @@
 	      else if (strcmp(name,"HydrologyWaterVy")==0) return HydrologyWaterVyEnum;
 	      else if (strcmp(name,"HydrologyMaskNodeActivation")==0) return HydrologyMaskNodeActivationEnum;
+	      else if (strcmp(name,"Ice")==0) return IceEnum;
+	      else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
          else stage=8;
    }
    if(stage==8){
-	      if (strcmp(name,"Ice")==0) return IceEnum;
-	      else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum;
-	      else if (strcmp(name,"Input")==0) return InputEnum;
+	      if (strcmp(name,"Input")==0) return InputEnum;
 	      else if (strcmp(name,"InversionCostFunctionsCoefficients")==0) return InversionCostFunctionsCoefficientsEnum;
 	      else if (strcmp(name,"InversionSurfaceObs")==0) return InversionSurfaceObsEnum;
@@ -998,10 +996,10 @@
 	      else if (strcmp(name,"SealevelchangeAzimuthIndexHydro")==0) return SealevelchangeAzimuthIndexHydroEnum;
 	      else if (strcmp(name,"SealevelchangeViscousRSL")==0) return SealevelchangeViscousRSLEnum;
+	      else if (strcmp(name,"SealevelchangeViscousSG")==0) return SealevelchangeViscousSGEnum;
+	      else if (strcmp(name,"SealevelchangeViscousU")==0) return SealevelchangeViscousUEnum;
          else stage=9;
    }
    if(stage==9){
-	      if (strcmp(name,"SealevelchangeViscousSG")==0) return SealevelchangeViscousSGEnum;
-	      else if (strcmp(name,"SealevelchangeViscousU")==0) return SealevelchangeViscousUEnum;
-	      else if (strcmp(name,"SealevelchangeViscousN")==0) return SealevelchangeViscousNEnum;
+	      if (strcmp(name,"SealevelchangeViscousN")==0) return SealevelchangeViscousNEnum;
 	      else if (strcmp(name,"SealevelchangeViscousE")==0) return SealevelchangeViscousEEnum;
 	      else if (strcmp(name,"CouplingTransferCount")==0) return CouplingTransferCountEnum;
@@ -1121,10 +1119,10 @@
 	      else if (strcmp(name,"SmbVz")==0) return SmbVzEnum;
 	      else if (strcmp(name,"SmbW")==0) return SmbWEnum;
+	      else if (strcmp(name,"SmbWAdd")==0) return SmbWAddEnum;
+	      else if (strcmp(name,"SmbWini")==0) return SmbWiniEnum;
          else stage=10;
    }
    if(stage==10){
-	      if (strcmp(name,"SmbWAdd")==0) return SmbWAddEnum;
-	      else if (strcmp(name,"SmbWini")==0) return SmbWiniEnum;
-	      else if (strcmp(name,"SmbZMax")==0) return SmbZMaxEnum;
+	      if (strcmp(name,"SmbZMax")==0) return SmbZMaxEnum;
 	      else if (strcmp(name,"SmbZMin")==0) return SmbZMinEnum;
 	      else if (strcmp(name,"SmbZTop")==0) return SmbZTopEnum;
@@ -1244,10 +1242,10 @@
 	      else if (strcmp(name,"Outputdefinition30")==0) return Outputdefinition30Enum;
 	      else if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum;
+	      else if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum;
+	      else if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum;
          else stage=11;
    }
    if(stage==11){
-	      if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum;
-	      else if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum;
-	      else if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum;
+	      if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum;
 	      else if (strcmp(name,"Outputdefinition35")==0) return Outputdefinition35Enum;
 	      else if (strcmp(name,"Outputdefinition36")==0) return Outputdefinition36Enum;
@@ -1367,10 +1365,10 @@
 	      else if (strcmp(name,"Cfsurfacesquare")==0) return CfsurfacesquareEnum;
 	      else if (strcmp(name,"Cflevelsetmisfit")==0) return CflevelsetmisfitEnum;
+	      else if (strcmp(name,"Channel")==0) return ChannelEnum;
+	      else if (strcmp(name,"ChannelArea")==0) return ChannelAreaEnum;
          else stage=12;
    }
    if(stage==12){
-	      if (strcmp(name,"Channel")==0) return ChannelEnum;
-	      else if (strcmp(name,"ChannelArea")==0) return ChannelAreaEnum;
-	      else if (strcmp(name,"ChannelAreaOld")==0) return ChannelAreaOldEnum;
+	      if (strcmp(name,"ChannelAreaOld")==0) return ChannelAreaOldEnum;
 	      else if (strcmp(name,"ChannelDischarge")==0) return ChannelDischargeEnum;
 	      else if (strcmp(name,"Closed")==0) return ClosedEnum;
@@ -1490,10 +1488,10 @@
 	      else if (strcmp(name,"IntMatExternalResult")==0) return IntMatExternalResultEnum;
 	      else if (strcmp(name,"IntMatParam")==0) return IntMatParamEnum;
+	      else if (strcmp(name,"IntParam")==0) return IntParamEnum;
+	      else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum;
          else stage=13;
    }
    if(stage==13){
-	      if (strcmp(name,"IntParam")==0) return IntParamEnum;
-	      else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum;
-	      else if (strcmp(name,"Inputs")==0) return InputsEnum;
+	      if (strcmp(name,"Inputs")==0) return InputsEnum;
 	      else if (strcmp(name,"Internal")==0) return InternalEnum;
 	      else if (strcmp(name,"Intersect")==0) return IntersectEnum;
@@ -1613,10 +1611,10 @@
 	      else if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum;
 	      else if (strcmp(name,"ProfilingSolutionTime")==0) return ProfilingSolutionTimeEnum;
+	      else if (strcmp(name,"Regionaloutput")==0) return RegionaloutputEnum;
+	      else if (strcmp(name,"Regular")==0) return RegularEnum;
          else stage=14;
    }
    if(stage==14){
-	      if (strcmp(name,"Regionaloutput")==0) return RegionaloutputEnum;
-	      else if (strcmp(name,"Regular")==0) return RegularEnum;
-	      else if (strcmp(name,"RecoveryAnalysis")==0) return RecoveryAnalysisEnum;
+	      if (strcmp(name,"RecoveryAnalysis")==0) return RecoveryAnalysisEnum;
 	      else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum;
 	      else if (strcmp(name,"SamplingAnalysis")==0) return SamplingAnalysisEnum;
Index: /issm/trunk-jpl/src/m/classes/stochasticforcing.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/stochasticforcing.m	(revision 27449)
+++ /issm/trunk-jpl/src/m/classes/stochasticforcing.m	(revision 27450)
@@ -95,8 +95,13 @@
 				end
 				if(contains(field,'WaterPressure'))
-					mdname = structstoch.mdnames(find(strcmp(structstoch.fields,char(field))));
-					if~(isequal(class(md.friction),char(mdname)))
-                  error('md.friction does not agree with stochasticforcing field %s', char(field));
-               end
+
+					mdnames = structstoch.mdnames(find(strcmp(structstoch.fields,char(field))));
+					found   = 0;
+					for(ii=[1:numel(mdnames)])
+						if(isequal(class(md.friction),char(mdnames{ii}))) found=1; end
+					end
+					if(found==0)
+						error('md.friction does not agree with stochasticforcing field %s', char(field));
+					end
 					if(strcmp(class(md.friction),'friction') || strcmp(class(md.friction),'frictionschoof') || strcmp(class(md.friction),'frictioncoulomb'))
                   if(md.friction.coupling~=0 && md.friction.coupling~=1 && md.friction.coupling~=2)
@@ -306,6 +311,6 @@
 		'FloatingMeltRate',...
 		'FrictionWaterPressure',...
-		'FrictionCoulombWaterPressure',...
-		'FrictionSchoofWaterPressure',...
+		'FrictionWaterPressure',...
+		'FrictionWaterPressure',...
 		'FrontalForcingsRignotarma',...
 		'FrontalForcingsSubglacialDischargearma',...
Index: /issm/trunk-jpl/src/m/classes/stochasticforcing.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/stochasticforcing.py	(revision 27449)
+++ /issm/trunk-jpl/src/m/classes/stochasticforcing.py	(revision 27450)
@@ -109,7 +109,14 @@
                     raise TypeError('md.basalforcings does not agree with stochasticforcing field {}'.format(field))
             if 'WaterPressure' in field:
-                mdname = structstoch[field]
-                if (type(md.friction).__name__ != mdname):
+                #mdname = structstoch[field]
+                mdnames = ['friction','frictioncoulomb','frictionschoof']
+                found   = 0
+                for ii in range(len(mdnames)):
+                    if (type(md.friction).__name__ == mdnames[ii]):
+                        found = 1
+                if(found==0):
                     raise TypeError('md.friction does not agree with stochasticforcing field {}'.format(field))
+                #if (type(md.friction).__name__ != mdname):
+                #    raise TypeError('md.friction does not agree with stochasticforcing field {}'.format(field))
                 if (type(md.friction).__name__=='friction' or type(md.friction).__name__=='frictionschoof' or type(md.friction).__name__=='frictioncoulomb'):
                     if md.friction.coupling not in[0, 1, 2]:
@@ -260,6 +267,6 @@
                      'FloatingMeltRate': 'basalforcings',
                      'FrictionWaterPressure': 'friction',
-                     'FrictionCoulombWaterPressure': 'frictioncoulomb',
-                     'FrictionSchoofWaterPressure': 'frictionschoof',
+                     'FrictionWaterPressure': 'frictioncoulomb',
+                     'FrictionWaterPressure': 'frictionschoof',
                      'FrontalForcingsRignotarma': 'frontalforcingsrignotarma',
                      'FrontalForcingsSubglacialDischargearma': 'frontalforcingsrignotarma',
