Index: /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21539)
+++ /issm/trunk-jpl/src/c/classes/AdaptiveMeshRefinement.cpp	(revision 21540)
@@ -180,5 +180,7 @@
     /*Verify the new geometry*/
     this->CheckMesh(nvertices,nelements,nsegments,this->elementswidth,px,py,pz,pelements,psegments);
-     
+
+	 _printf_("\trefinement process done!\n\n");
+
     delete nohangingnodesmesh;
 }
@@ -187,5 +189,7 @@
     
     /*Refine mesh hmax times*/
-    for(int hlevel=1;hlevel<=this->hmax;hlevel++){
+   _printf_("\n\trefinement process (hmax = " << this->hmax << ")\n");
+	_printf_("\tprogress:  ");
+	for(int hlevel=1;hlevel<=this->hmax;hlevel++){
         
         /*Set elements to be refined using some criteria*/
@@ -195,6 +199,8 @@
         /*Refine the mesh*/
         this->RefineMesh(gmesh, ElemVec);
-    }
-    
+		  
+		  _printf_("*  ");
+    }
+    _printf_("\n");
 }
 /*}}}*/
@@ -235,5 +241,6 @@
 /*}}}*/
 void AdaptiveMeshRefinement::RefineMeshToAvoidHangingNodes(TPZGeoMesh *gmesh){/*{{{*/
-    
+   
+	 _printf_("\trefine to avoid hanging nodes...\n");
     /*Refine elements to avoid hanging nodes: non-uniform refinement*/
 	 const int NElem = gmesh->NElements();
@@ -389,8 +396,8 @@
     
     // itapopo inserir modo de encontrar criterio TESTING!!!! Come to false!
-	 if(true) this->TagAllElements(gmesh,ElemVec); //uniform, refine all elements!
+	 if(false) this->TagAllElements(gmesh,ElemVec); //uniform, refine all elements!
 
     /* Adaptive refinement. This refines some elements following some criteria*/
-    //this->TagElementsNearGroundingLine(gmesh, GLvec, hlevel, ElemVec);
+    this->TagElementsNearGroundingLine(gmesh, GLvec, hlevel, ElemVec);
 
 }
@@ -410,6 +417,6 @@
     
     /* Tag elements near grounding line */
-    double MaxRegion = 20000.; //itapopo
-    double alpha = 1.0;         //itapopo
+    double MaxRegion = 40000.; //itapopo
+    double alpha = log(1.5);         //itapopo
     double MaxDistance = MaxRegion / std::exp(alpha*(hlevel-1));
     
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 21539)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 21540)
@@ -2942,5 +2942,5 @@
    if(my_rank==0){ 
 		this->amr = new AdaptiveMeshRefinement();
-		int hmax	 = 0; //itapopo: it must be defined by interface. Using 2 just to test
+		int hmax	 = 3; //itapopo: it must be defined by interface. Using 2 just to test
 		this->amr->SetHMax(hmax); //Set max level of refinement
 		this->amr->CreateInitialMesh(numberofvertices,numberofelements,numberofsegments,elementswidth,x,y,z,elements,NULL);
@@ -3299,6 +3299,6 @@
 	
 	/*Solutions which will be used to refine the elements*/
-	this->GetMaskLevelSet(&masklevelset);//itapopo verificar se já existe um método igual a esse
-	
+	this->GetGroundediceLevelSet(&masklevelset);//itapopo verificar se já existe um método igual a esse
+
 	if(my_rank==0){
 		int type_process=1; //1: it refines father mesh. See AdaptiveMeshRefinement.h (.cpp)
@@ -3334,5 +3334,5 @@
 }
 /*}}}*/
-void FemModel::GetMaskLevelSet(IssmDouble **pmasklevelset){/*{{{*/
+void FemModel::GetGroundediceLevelSet(IssmDouble **pmasklevelset){/*{{{*/
 
 	int elementswidth		= this->GetElementsWidth();//just 2D mesh, tria elements
@@ -3346,5 +3346,5 @@
 	for(int i=0;i<this->elements->Size();i++){
 		Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
-		element->GetInputListOnVertices(elementlevelset,MaskIceLevelsetEnum);
+		element->GetInputListOnVertices(elementlevelset,MaskGroundediceLevelsetEnum);
 		element->GetVerticesSidList(elem_vertices);
 		vmasklevelset->SetValue(elem_vertices[0],elementlevelset[0],INS_VAL);
@@ -3580,5 +3580,4 @@
 
 	/*Get x and y of the mesh i-1*/
-	int my_rank						= IssmComm::GetRank();
 	int numberofvertices			= this->vertices->NumberOfVertices();
 	int numberofelements			= this->elements->NumberOfElements();
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 21539)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 21540)
@@ -152,5 +152,5 @@
 		int GetElementsWidth(){return 3;};//just tria elements in this first version
 		void ExecuteRefinement(int &numberofvertices,int &numberofelements,IssmDouble** px,IssmDouble** py,IssmDouble** pz,int** pelementslist);
-		void GetMaskLevelSet(IssmDouble** pmasklevelset);
+		void GetGroundediceLevelSet(IssmDouble** pmasklevelset);
 		void CreateVertices(int newnumberofvertices,int newnumberofelements,int elementswidth,int* newelementslist,int* my_vertices,IssmDouble* newx,IssmDouble* newy,IssmDouble* newz,Vertices* vertices);
 		void CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements);
