Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 13695)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 13696)
@@ -288,6 +288,4 @@
 					./modules/InputArtificialNoisex/InputArtificialNoisex.h\
 					./modules/InputArtificialNoisex/InputArtificialNoisex.cpp\
-					./modules/TimeAdaptx/TimeAdaptx.h\
-					./modules/TimeAdaptx/TimeAdaptx.cpp\
 					./modules/ConfigureObjectsx/ConfigureObjectsx.h\
 					./modules/ConfigureObjectsx/ConfigureObjectsx.cpp\
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 13695)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 13696)
@@ -38,7 +38,4 @@
 	this->comm=incomm;
 	this->SetStaticComm();
-
-	/*Print starting banner:*/
-	this->PrintBanner();
 
 	/*Start profiler: */
@@ -329,6 +326,5 @@
 
 /*Modules:*/
-/*FUNCTION FemModel::UpdateVertexPositionsx(void){{{*/
-int FemModel::UpdateVertexPositionsx(void){
+int FemModel::UpdateVertexPositionsx(void){ /*{{{*/
 
 	int     i;
@@ -364,6 +360,5 @@
 }
 /*}}}*/
-/*FUNCTION void FemModel::UpdateConstraintsx(void){{{*/
-void FemModel::UpdateConstraintsx(void){
+void FemModel::UpdateConstraintsx(void){ /*{{{*/
 
 	IssmDouble time;
@@ -384,2 +379,35 @@
 
 }
+/*}}}*/
+void FemModel::TimeAdaptx(IssmDouble* pdt){/*{{{*/
+
+	int      i;
+
+	/*output: */
+	IssmDouble   dt;
+
+	/*intermediary: */
+	Element *element     = NULL;
+	IssmDouble   min_dt      = 0;
+	IssmDouble   node_min_dt = 0;
+
+	/*Go through elements, and figure out the minimum of the time steps for each element (using CFL criterion): */
+	element=(Element*)elements->GetObjectByOffset(0); min_dt=element->TimeAdapt();
+
+	for (i=1;i<elements->Size();i++){
+		element=(Element*)elements->GetObjectByOffset(i);
+		dt=element->TimeAdapt();
+		if(dt<min_dt)min_dt=dt;
+	}
+
+	/*Figure out minimum across the cluster: */
+	#ifdef _HAVE_MPI_
+	MPI_Reduce (&min_dt,&node_min_dt,1,MPI_DOUBLE,MPI_MIN,0,IssmComm::GetComm() );
+	MPI_Bcast(&node_min_dt,1,MPI_DOUBLE,0,IssmComm::GetComm());
+	min_dt=node_min_dt;
+	#endif
+
+	/*Assign output pointers:*/
+	*pdt=min_dt;
+}
+/*}}}*/
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 13695)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 13696)
@@ -65,4 +65,5 @@
 		int UpdateVertexPositionsx(void);
 		void UpdateConstraintsx(void);
+		void TimeAdaptx(IssmDouble* pdt);
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 13695)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 13696)
@@ -113,5 +113,4 @@
 #include "./SystemMatricesx/SystemMatricesx.h"
 #include "./CreateJacobianMatrixx/CreateJacobianMatrixx.h"
-#include "./TimeAdaptx/TimeAdaptx.h"
 #include "./TriaSearchx/TriaSearchx.h"
 #include "./TriMeshx/TriMeshx.h"
Index: /issm/trunk-jpl/src/c/solutions/transient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solutions/transient_core.cpp	(revision 13695)
+++ /issm/trunk-jpl/src/c/solutions/transient_core.cpp	(revision 13696)
@@ -78,5 +78,5 @@
 		/*Increment*/
 		if(time_adapt){
-			TimeAdaptx(&dt,femmodel->elements, femmodel->nodes,femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters); 
+			femmodel->TimeAdaptx(&dt);
 			if(time+dt>finaltime) dt=finaltime-time;
 			femmodel->parameters->SetParam(dt,TimesteppingTimeStepEnum);
