Index: /issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 7352)
+++ /issm/trunk/src/c/objects/Elements/Tria.cpp	(revision 7353)
@@ -4823,4 +4823,11 @@
 	bool    elementonshelf = false;
 
+	double  shelf_melting=10;
+	double  yts;
+	int     swap;
+
+	/*recover parameters: */
+	parameters->FindParam(&yts,YtsEnum);
+
 	/*Recover info at the vertices: */
 	Input* surface_input =inputs->GetInput(SurfaceEnum); _assert_(surface_input);
@@ -4853,4 +4860,5 @@
 
 	/*Now, update  shelf status of element. An element can only be on shelf if all its nodes are on shelf: */
+	swap=0;
 	elementonshelf=false;
 	for(i=0;i<3;i++){
@@ -4860,5 +4868,14 @@
 		}
 	}
+	if(!this->IsOnShelf() && elementonshelf==true)swap=1;
     this->inputs->AddInput(new BoolInput(ElementOnIceShelfEnum,elementonshelf));
+
+	/*If this element just  became ungrounded, set its melting rate at 50 m/yr:*/
+	if(swap){
+		Input* melting_rate_input     =inputs->GetInput(MeltingRateEnum);     _assert_(melting_rate_input);
+		melting_rate_input->GetValuesPtr(&values,NULL); for(i=0;i<3;i++)values[i]=-shelf_melting/yts;
+	}
+
+
 }
 /*}}}*/
