Index: /issm/trunk/src/c/objects/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Tria.cpp	(revision 3047)
+++ /issm/trunk/src/c/objects/Tria.cpp	(revision 3048)
@@ -4595,4 +4595,5 @@
 	double  B_list[3];
 	double  B_average;
+	double  new_h[3];
 
 	ParameterInputs* inputs=NULL;
@@ -4602,5 +4603,15 @@
 
 	/*Update internal data if inputs holds new values: */
-	inputs->Recover("thickness",&h[0],1,dofs,3,(void**)nodes);
+	if(inputs->Recover("thickness",&new_h[0],1,dofs,3,(void**)nodes)){
+		/*density, needed later: */
+		double di=(this->matpar->rho_ice/this->matpar->rho_water);
+		/*Go through grids: */
+		for (i=0;i<3;i++){
+			if(this->nodes[i]->onshelf){
+				this->b[i]=this->b[i]-di*(new_h[i]-h[i]); //hydrostatic equilibrium;
+			}
+			this->s[i]=this->b[i]+new_h[i];
+		}
+	}
 	inputs->Recover("surface",&s[0],1,dofs,3,(void**)nodes);
 	inputs->Recover("bed",&b[0],1,dofs,3,(void**)nodes);
