Index: /issm/trunk-jpl/src/c/analyses/stressbalance_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/stressbalance_core.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/analyses/stressbalance_core.cpp	(revision 16218)
@@ -42,5 +42,5 @@
 		InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVyEnum,VyEnum);
 		InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVzEnum,VzEnum);
-		InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuPressureEnum,PressureEnum);
+		if(isFS) InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuPressureEnum,PressureEnum);
 	}
 
Index: /issm/trunk-jpl/src/c/analyses/transient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/transient_core.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/analyses/transient_core.cpp	(revision 16218)
@@ -21,5 +21,5 @@
 	/*parameters: */
 	IssmDouble starttime,finaltime,dt,yts;
-	bool   isstressbalance,ismasstransport,isthermal,isgroundingline,isenthalpy,isdelta18o,isgia;
+	bool   isstressbalance,ismasstransport,isFS,isthermal,isgroundingline,isenthalpy,isdelta18o,isgia;
 	bool   save_results,dakota_analysis;
 	bool   time_adapt=false;
@@ -48,4 +48,5 @@
 	femmodel->parameters->FindParam(&isgroundingline,TransientIsgroundinglineEnum);
 	femmodel->parameters->FindParam(&isenthalpy,ThermalIsenthalpyEnum);
+	femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum);
 	if(isgroundingline) femmodel->parameters->FindParam(&groundingline_migration,GroundinglineMigrationEnum);
 	femmodel->parameters->FindParam(&numoutputs,TransientNumRequestedOutputsEnum);
@@ -62,8 +63,10 @@
 			InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVxEnum,VxEnum);
 			InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVyEnum,VyEnum);
-			InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVzEnum,VzEnum);
-			InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuPressureEnum,PressureEnum);
+			if(dim==3){
+				InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVzEnum,VzEnum);
+				if(isFS)InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuPressureEnum,PressureEnum);
+			}
 		}
-		if(ismasstransport | isgroundingline){
+		if(ismasstransport || isgroundingline){
 			InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuThicknessEnum,ThicknessEnum);
 			InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuSurfaceEnum,SurfaceEnum);
Index: /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/classes/Elements/Penta.cpp	(revision 16218)
@@ -3498,7 +3498,5 @@
 
 	/*Checks if debuging*/
-	/*{{{*/
 	_assert_(iomodel->elements);
-	/*}}}*/
 
 	/*Recover element type*/
@@ -3656,31 +3654,4 @@
 		case StressbalanceAnalysisEnum:
 
-			/*default vx,vy and vz: either observation or 0 */
-			if(!iomodel->Data(VxEnum)){
-				for(i=0;i<6;i++)nodeinputs[i]=0;
-				this->inputs->AddInput(new PentaInput(VxEnum,nodeinputs,P1Enum));
-				if(dakota_analysis) this->inputs->AddInput(new PentaInput(QmuVxEnum,nodeinputs,P1Enum));
-			}
-			if(!iomodel->Data(VyEnum)){
-				for(i=0;i<6;i++)nodeinputs[i]=0;
-				this->inputs->AddInput(new PentaInput(VyEnum,nodeinputs,P1Enum));
-				if(dakota_analysis) this->inputs->AddInput(new PentaInput(QmuVyEnum,nodeinputs,P1Enum));
-			}
-			if(!iomodel->Data(VzEnum)){
-				for(i=0;i<6;i++)nodeinputs[i]=0;
-				this->inputs->AddInput(new PentaInput(VzEnum,nodeinputs,P1Enum));
-				if(dakota_analysis) this->inputs->AddInput(new PentaInput(QmuVzEnum,nodeinputs,P1Enum));
-			}
-			if(!iomodel->Data(PressureEnum)){
-				for(i=0;i<6;i++)nodeinputs[i]=0;
-				if(dakota_analysis){
-					this->inputs->AddInput(new PentaInput(PressureEnum,nodeinputs,P1Enum));
-					this->inputs->AddInput(new PentaInput(QmuPressureEnum,nodeinputs,P1Enum));
-				}
-				if(isFS){
-					this->inputs->AddInput(new PentaInput(PressureEnum,nodeinputs,P1Enum));
-					this->inputs->AddInput(new PentaInput(PressurePicardEnum,nodeinputs,P1Enum));
-				}
-			}
 			if(*(iomodel->Data(FlowequationElementEquationEnum)+index)==HOFSApproximationEnum){
 				/*Create VzHO and VzFS Enums*/
@@ -3713,23 +3684,8 @@
 			break;
 
-		case ThermalAnalysisEnum:
-			/*Initialize mesh velocity*/
-			for(i=0;i<6;i++)nodeinputs[i]=0;
-			this->inputs->AddInput(new PentaInput(VxMeshEnum,nodeinputs,P1Enum));
-			this->inputs->AddInput(new PentaInput(VyMeshEnum,nodeinputs,P1Enum));
-			this->inputs->AddInput(new PentaInput(VzMeshEnum,nodeinputs,P1Enum));
-			if(dakota_analysis){
-				this->inputs->AddInput(new PentaInput(QmuVxMeshEnum,nodeinputs,P1Enum));
-				this->inputs->AddInput(new PentaInput(QmuVyMeshEnum,nodeinputs,P1Enum));
-				this->inputs->AddInput(new PentaInput(QmuVzMeshEnum,nodeinputs,P1Enum));
-			}
-			break;
 
 		case EnthalpyAnalysisEnum:
 			/*Initialize mesh velocity*/
 			for(i=0;i<6;i++)nodeinputs[i]=0;
-			this->inputs->AddInput(new PentaInput(VxMeshEnum,nodeinputs,P1Enum));
-			this->inputs->AddInput(new PentaInput(VyMeshEnum,nodeinputs,P1Enum));
-			this->inputs->AddInput(new PentaInput(VzMeshEnum,nodeinputs,P1Enum));
 			if (iomodel->Data(TemperatureEnum) && iomodel->Data(WaterfractionEnum) && iomodel->Data(PressureEnum)) {
 				for(i=0;i<6;i++){
Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 16218)
@@ -2493,42 +2493,4 @@
 	this->InputUpdateFromIoModel(index,iomodel);
 
-	/*Defaults if not provided in iomodel*/
-	switch(analysis_type){
-
-		case StressbalanceAnalysisEnum:
-
-			/*default vx,vy and vz: either observation or 0 */
-			if(!iomodel->Data(VxEnum)){
-				for(i=0;i<3;i++)nodeinputs[i]=0;
-				this->inputs->AddInput(new TriaInput(VxEnum,nodeinputs,P1Enum));
-				if(dakota_analysis)this->inputs->AddInput(new TriaInput(QmuVxEnum,nodeinputs,P1Enum));
-			}
-			if(!iomodel->Data(VyEnum)){
-				for(i=0;i<3;i++)nodeinputs[i]=0;
-				this->inputs->AddInput(new TriaInput(VyEnum,nodeinputs,P1Enum));
-				if(dakota_analysis)this->inputs->AddInput(new TriaInput(QmuVyEnum,nodeinputs,P1Enum));
-			}
-			if(!iomodel->Data(VzEnum)){
-				for(i=0;i<3;i++)nodeinputs[i]=0;
-				this->inputs->AddInput(new TriaInput(VzEnum,nodeinputs,P1Enum));
-				if(dakota_analysis)this->inputs->AddInput(new TriaInput(QmuVzEnum,nodeinputs,P1Enum));
-			}
-			if(!iomodel->Data(PressureEnum)){
-				for(i=0;i<3;i++)nodeinputs[i]=0;
-				if(dakota_analysis){
-					this->inputs->AddInput(new TriaInput(PressureEnum,nodeinputs,P1Enum));
-					this->inputs->AddInput(new TriaInput(QmuPressureEnum,nodeinputs,P1Enum));
-				}
-			}
-			break;
-
-		default:
-			/*No update for other solution types*/
-			break;
-
-	}
-
-	//this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
-	this->parameters=NULL;
 }
 /*}}}*/
@@ -3079,5 +3041,4 @@
 	Input* vx_input=inputs->GetInput(VxEnum);                 _assert_(vx_input);
 	Input* vy_input=inputs->GetInput(VyEnum);                 _assert_(vy_input);
-	Input* vz_input=inputs->GetInput(VzEnum);                 _assert_(vz_input);
 	Input* gllevelset_input=NULL;
 	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
@@ -5551,5 +5512,5 @@
 
 	/*Skip if water or ice shelf element*/
-	if(NoIceInElement() | IsFloating()) return NULL;
+	if(NoIceInElement() || IsFloating()) return NULL;
 
 	/*Fetch number of nodes and dof for this finite element*/
@@ -5776,5 +5737,5 @@
 
 	/*Skip if water or ice shelf element*/
-	if(NoIceInElement() | IsFloating()) return NULL;
+	if(NoIceInElement() || IsFloating()) return NULL;
 
 	/*Fetch number of nodes and dof for this finite element*/
Index: /issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp	(revision 16218)
@@ -71,2 +71,13 @@
 
 }
+void InputUpdateFromConstantx(Elements* elements,IssmDouble constant, int name){
+
+	int i;
+	if(VerboseModule()) _printf0_("   Input updates from constant\n");
+
+	/*Elements and loads drive the update: */
+	for(i=0;i<elements->Size();i++){
+		Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
+		element->InputUpdateFromConstant(constant,name);
+	}
+}
Index: /issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h	(revision 16218)
@@ -9,7 +9,8 @@
 
 /* local prototypes: */
-void InputUpdateFromConstantx(FemModel* femmode,bool   constant    ,int name);
-void InputUpdateFromConstantx(FemModel* femmode,int    constant    ,int name);
-void InputUpdateFromConstantx(FemModel* femmode,IssmDouble constant,int name);
+void InputUpdateFromConstantx(FemModel* femmodel,bool       constant,int name);
+void InputUpdateFromConstantx(FemModel* femmodel,int        constant,int name);
+void InputUpdateFromConstantx(FemModel* femmodel,IssmDouble constant,int name);
+void InputUpdateFromConstantx(Elements* elements,IssmDouble constant,int name);
 
 #endif  /* _UPDATEINPUTSFROMCONSTANTXX_H */
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp	(revision 16218)
@@ -56,5 +56,5 @@
 
 			/*Go through all processed faces connected to v1 and check whether we have seen this edge yet*/
-			_assert_(v1>=0 & v1<iomodel->numberofvertices);
+			_assert_(v1>=0 && v1<iomodel->numberofvertices);
 			for(int e=head_minv[v1]; e!=-1; e=next_edge[e]){
 				if(facestemp[e*4+1]==v2){
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp	(revision 16218)
@@ -7,4 +7,5 @@
 #include "../../../shared/shared.h"
 #include "../../MeshPartitionx/MeshPartitionx.h"
+#include "../../InputUpdateFromConstantx/InputUpdateFromConstantx.h"
 #include "../ModelProcessorx.h"
 
@@ -26,4 +27,7 @@
 		}
 	}
+
+	bool dakota_analysis;
+	iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum);
 
 	iomodel->FetchDataToInput(elements,ThicknessEnum);
@@ -49,4 +53,14 @@
 	iomodel->FetchDataToInput(elements,VyEnum);
 	iomodel->FetchDataToInput(elements,VzEnum);
+	InputUpdateFromConstantx(elements,0.,VxMeshEnum);
+	InputUpdateFromConstantx(elements,0.,VyMeshEnum);
+	InputUpdateFromConstantx(elements,0.,VzMeshEnum);
+	if(dakota_analysis){
+		elements->InputDuplicate(TemperatureEnum,QmuTemperatureEnum);
+		elements->InputDuplicate(BasalforcingsMeltingRateEnum,QmuMeltingEnum);
+		elements->InputDuplicate(VxMeshEnum,QmuVxMeshEnum);
+		elements->InputDuplicate(VxMeshEnum,QmuVyMeshEnum);
+		elements->InputDuplicate(VxMeshEnum,QmuVzMeshEnum);
+	}
 
 	/*Free data: */
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceBase/UpdateElementsFreeSurfaceBase.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceBase/UpdateElementsFreeSurfaceBase.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceBase/UpdateElementsFreeSurfaceBase.cpp	(revision 16218)
@@ -29,5 +29,4 @@
 	iomodel->FetchDataToInput(elements,SurfaceEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateCorrectionEnum,0.);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceTop/UpdateElementsFreeSurfaceTop.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceTop/UpdateElementsFreeSurfaceTop.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/FreeSurfaceTop/UpdateElementsFreeSurfaceTop.cpp	(revision 16218)
@@ -28,7 +28,5 @@
 	iomodel->FetchDataToInput(elements,SurfaceEnum);
 	iomodel->FetchDataToInput(elements,MaskIceLevelsetEnum);
-	iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
-	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateCorrectionEnum,0.);
+	iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum,0.);
 	iomodel->FetchDataToInput(elements,VxEnum);
 	iomodel->FetchDataToInput(elements,VyEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp	(revision 16218)
@@ -67,7 +67,6 @@
 		iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
 		iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
-		iomodel->FetchDataToInput(elements,TemperatureEnum);
-		iomodel->FetchDataToInput(elements,VzEnum);
 	}
+
 	if(issmbgradients){
 		iomodel->FetchDataToInput(elements,SurfaceforcingsHrefEnum);
@@ -88,6 +87,6 @@
 		}
 	}
-	if(~ispdd & ~issmbgradients){
-		iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
+	if(~ispdd && ~issmbgradients){
+		iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum,0.);
 	}
 }
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp	(revision 16218)
@@ -55,5 +55,5 @@
 
 	/*Now, is the flag macayaealHO on? otherwise, do nothing: */
-	if(!isSSA & !isHO & !isFS & !isL1L2){
+	if(!isSSA && !isHO && !isFS && !isL1L2){
 		*pconstraints=constraints;
 		return;
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateLoadsStressbalance.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateLoadsStressbalance.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateLoadsStressbalance.cpp	(revision 16218)
@@ -30,5 +30,5 @@
 
 	/*Now, is the flag macayaealHO on? otherwise, do nothing: */
-	if(!isSSA & !isHO & !isFS & !isL1L2) return;
+	if(!isSSA && !isHO && !isFS && !isL1L2) return;
 
 	/*Initialize counter: */
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp	(revision 16218)
@@ -97,30 +97,24 @@
 	iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);
 	iomodel->FetchDataToInput(elements,VxEnum);
+	if(dakota_analysis)elements->InputDuplicate(VxEnum,QmuVxEnum);
 	iomodel->FetchDataToInput(elements,VyEnum);
+	if(dakota_analysis)elements->InputDuplicate(VyEnum,QmuVyEnum);
 	iomodel->FetchDataToInput(elements,LoadingforceXEnum);
 	iomodel->FetchDataToInput(elements,LoadingforceYEnum);
 	iomodel->FetchDataToInput(elements,DamageDEnum);
-	iomodel->FetchDataToInput(elements,PressureEnum);
-	if(dakota_analysis)elements->InputDuplicate(PressureEnum,QmuPressureEnum);
 
 	if(iomodel->dim==3){
 		iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
 		iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
-		iomodel->FetchDataToInput(elements,VzEnum);
-		iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
 		iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
 		iomodel->FetchDataToInput(elements,FlowequationBorderFSEnum);
 		iomodel->FetchDataToInput(elements,LoadingforceZEnum);
+		iomodel->FetchDataToInput(elements,VzEnum);
+		if(dakota_analysis)elements->InputDuplicate(VzEnum,QmuVzEnum);
+		if(isFS){
+			iomodel->FetchDataToInput(elements,PressureEnum);
+			if(dakota_analysis)elements->InputDuplicate(PressureEnum,QmuPressureEnum);
+		}
 	}
-
-	if(control_analysis){
-		iomodel->FetchDataToInput(elements,InversionVxObsEnum);
-		iomodel->FetchDataToInput(elements,InversionVyObsEnum);
-	}
-
-	/*Post-process: */
-	elements->InputDuplicate(VxEnum,VxPicardEnum);
-	elements->InputDuplicate(VxEnum,InversionVxObsEnum);
-	if(dakota_analysis)elements->InputDuplicate(VxEnum,QmuVxEnum);
 
 	#ifdef _HAVE_ANDROID_
@@ -128,14 +122,4 @@
 	#endif
 
-	elements->InputDuplicate(VyEnum,VyPicardEnum);
-	elements->InputDuplicate(VyEnum,InversionVyObsEnum);
-	if(dakota_analysis)elements->InputDuplicate(VyEnum,QmuVyEnum);
-
-	if(iomodel->dim==3){
-		elements->InputDuplicate(VzEnum,VzPicardEnum);
-		elements->InputDuplicate(VzEnum,InversionVzObsEnum);
-		if(dakota_analysis)elements->InputDuplicate(VzEnum,QmuVzEnum);
-	}
-
 	/*Free data: */
 	iomodel->DeleteData(1,FlowequationElementEquationEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceVertical/UpdateElementsStressbalanceVertical.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceVertical/UpdateElementsStressbalanceVertical.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceVertical/UpdateElementsStressbalanceVertical.cpp	(revision 16218)
@@ -31,5 +31,4 @@
 	iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
 	iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
-	iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
 	iomodel->FetchDataToInput(elements,VxEnum);
 	iomodel->FetchDataToInput(elements,VyEnum);
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp	(revision 16218)
@@ -7,4 +7,5 @@
 #include "../../../shared/shared.h"
 #include "../../MeshPartitionx/MeshPartitionx.h"
+#include "../../InputUpdateFromConstantx/InputUpdateFromConstantx.h"
 #include "../ModelProcessorx.h"
 
@@ -23,4 +24,7 @@
 		}
 	}
+
+	bool dakota_analysis;
+	iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum);
 
 	iomodel->FetchDataToInput(elements,ThicknessEnum);
@@ -43,10 +47,13 @@
 	iomodel->FetchDataToInput(elements,VyEnum);
 	iomodel->FetchDataToInput(elements,VzEnum);
-
-	bool dakota_analysis;
-	iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum);
+	InputUpdateFromConstantx(elements,0.,VxMeshEnum);
+	InputUpdateFromConstantx(elements,0.,VyMeshEnum);
+	InputUpdateFromConstantx(elements,0.,VzMeshEnum);
 	if(dakota_analysis){
 		elements->InputDuplicate(TemperatureEnum,QmuTemperatureEnum);
 		elements->InputDuplicate(BasalforcingsMeltingRateEnum,QmuMeltingEnum);
+		elements->InputDuplicate(VxMeshEnum,QmuVxMeshEnum);
+		elements->InputDuplicate(VxMeshEnum,QmuVyMeshEnum);
+		elements->InputDuplicate(VxMeshEnum,QmuVzMeshEnum);
 	}
 }
Index: /issm/trunk-jpl/src/c/modules/Scotchx/Scotchx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/Scotchx/Scotchx.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/modules/Scotchx/Scotchx.cpp	(revision 16218)
@@ -260,5 +260,5 @@
     }
   }
-  if ((flagval & C_FLAGPART) != 0) {              /* If program run as the partitioner            */
+  if ((flagval && C_FLAGPART) != 0) {              /* If program run as the partitioner            */
     C_fileTab[3].name = C_fileTab[2].name;        /* Put provided file names at their right place */
     C_fileTab[2].name = C_fileTab[1].name;
@@ -305,10 +305,10 @@
   clockStop (&runtime[0]);                        /* Get output time */
 
-  if (flagval & C_FLAGVERBSTR) {
+  if (flagval && C_FLAGVERBSTR) {
     fprintf (C_filepntrlogout, "S\tStrat=");
     SCOTCH_stratSave (&stradat, C_filepntrlogout);
     putc ('\n', C_filepntrlogout);
   }
-  if (flagval & C_FLAGVERBTIM) {
+  if (flagval && C_FLAGVERBTIM) {
     fprintf (C_filepntrlogout, "T\tMapping\t\t%g\nT\tI/O\t\t%g\nT\tTotal\t\t%g\n",
              (double) clockVal (&runtime[1]),
@@ -317,5 +317,5 @@
              (double) clockVal (&runtime[1]));
   }
-  if (flagval & C_FLAGVERBMAP)
+  if (flagval && C_FLAGVERBMAP)
     SCOTCH_graphMapView (&grafdat, &mapdat, C_filepntrlogout);
 
Index: /issm/trunk-jpl/src/c/shared/TriMesh/TriMeshUtils.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/TriMesh/TriMeshUtils.cpp	(revision 16217)
+++ /issm/trunk-jpl/src/c/shared/TriMesh/TriMeshUtils.cpp	(revision 16218)
@@ -109,5 +109,5 @@
 	int i;
 	for (i=0;i<nriftsegs;i++){
-		if ((*(riftsegments+4*i+0)==el) | (*(riftsegments+4*i+1)==el)){
+		if ((*(riftsegments+4*i+0)==el) || (*(riftsegments+4*i+1)==el)){
 			return 1;
 		}
Index: /issm/trunk-jpl/src/m/classes/damage.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/damage.m	(revision 16217)
+++ /issm/trunk-jpl/src/m/classes/damage.m	(revision 16218)
@@ -6,5 +6,4 @@
 classdef damage
 	properties (SetAccess=public)  
-	% {{{
 		%damage 
 		D                   = NaN;
@@ -27,6 +26,5 @@
 		c4                  = NaN;
 		healing             = NaN;
-
-	end % }}}
+	end
 	methods
 		function obj = damage(varargin) % {{{
